Browse Source

допвыстрелы

master
parent
commit
19218fd328
1 changed files with 55 additions and 22 deletions
  1. +55
    -22
      игра/111.изба.js

+ 55
- 22
игра/111.изба.js View File

@@ -34,6 +34,10 @@
мир.сцена.sound.play("звук-избы", { loop: true }); мир.сцена.sound.play("звук-избы", { loop: true });


мир.сцена.add.image(0, 0, "изба").setOrigin(0, 0); мир.сцена.add.image(0, 0, "изба").setOrigin(0, 0);

мир.разбитоеОкно = мир.сцена.add.image(1660, 183, "окно-разбито");
мир.разбитоеОкно.setOrigin(0, 0).setScale(0.75, 0.75);
мир.разбитоеОкно.setVisible(false);
}; };




@@ -323,30 +327,48 @@
куча.body.checkCollision.down = false; куча.body.checkCollision.down = false;
куча.setVisible(false); куча.setVisible(false);


var лук = мир.пфСтрел.create(1280, 200, "основа").setOrigin(0, 0);
лук.body.checkCollision.down = false;
лук.setVisible(false);
мир.пфЛук = мир.пфСтрел.create(1280, 200, "основа").setOrigin(0, 0);
мир.пфЛук.body.checkCollision.down = false;
мир.пфЛук.setVisible(false);


var пуск = мир.пфСтрел.create(1270, 160, "основа").setOrigin(0, 0); var пуск = мир.пфСтрел.create(1270, 160, "основа").setOrigin(0, 0);
пуск.setVisible(false); пуск.setVisible(false);


var окно = мир.пфСтрел.create(1830, 200, "основа").setOrigin(0, 0);
окно.setScale(1, 20).refreshBody();
окно.setVisible(false);
мир.пфОкно = мир.пфСтрел.create(1830, 200, "основа").setOrigin(0, 0);
мир.пфОкно.setScale(1, 20).refreshBody();
мир.пфОкно.setVisible(false);


// Определение прыжка по стрелам. // Определение прыжка по стрелам.
мир.сцена.physics.add.collider(мир.колобок, куча, function(a, b) { мир.сцена.physics.add.collider(мир.колобок, куча, function(a, b) {
if (мир.колобок.body.touching.down) { if (мир.колобок.body.touching.down) {
мир.состояниеКолобка.прыжокПоСтрелам = true; мир.состояниеКолобка.прыжокПоСтрелам = true;
console.debug("прыжок по стрелам");
} }
}); });


// Определение пуска стрелы.
var стПуск = мир.сцена.physics.add.collider(мир.колобок, пуск);
стПуск.collideCallback = function(a, b) {
if (мир.стрелаЗаряжена && !мир.пускСтрелы)
{
мир.пускСтрелы = true;
мир.уведомить("пуск стрелы");
console.debug("пуск стрелы");
}
};
стПуск.overlapOnly = true;
};


// // // //




СоздатьСтрелу = мир =>
{
мир.стрелаЗаряжена = false; мир.стрелаЗаряжена = false;
мир.пускСтрелы = false; мир.пускСтрелы = false;


мир.стрела = мир.сцена.physics.add.sprite(1250, 380, "стрела").setOrigin(0, 0);
мир.стрела = мир.сцена.physics.add.sprite(1250, 397, "стрела").setOrigin(0, 0);
мир.стрела.setScale(0.5, 0.5).refreshBody(); мир.стрела.setScale(0.5, 0.5).refreshBody();
мир.стрела.depth = 5; мир.стрела.depth = 5;


@@ -354,35 +376,29 @@
мир.сцена.physics.add.collider(мир.стрела, мир.платформы); мир.сцена.physics.add.collider(мир.стрела, мир.платформы);


// Определение заряда стрелы. // Определение заряда стрелы.
var стЛук = мир.сцена.physics.add.collider(мир.стрела, лук);
var стЛук = мир.сцена.physics.add.collider(мир.стрела, мир.пфЛук);
стЛук.collideCallback = function заряд(a, b) { стЛук.collideCallback = function заряд(a, b) {
if (мир.стрела.body.touching.down && !мир.стрелаЗаряжена) if (мир.стрела.body.touching.down && !мир.стрелаЗаряжена)
{ {
мир.стрелаЗаряжена = true; мир.стрелаЗаряжена = true;
мир.уведомить("стрела заряжена"); мир.уведомить("стрела заряжена");
console.debug("стрела заряжена");
} }
}; };


// Определение пуска стрелы.
var стПуск = мир.сцена.physics.add.collider(пуск, мир.колобок);
стПуск.collideCallback = function(a, b) {
if (мир.стрелаЗаряжена && !мир.пускСтрелы)
{
мир.пускСтрелы = true;
мир.уведомить("пуск стрелы");
}
};
стПуск.overlapOnly = true;

var стОкно = мир.сцена.physics.add.collider(мир.стрела, окно);
// Определение столкновения с окном.
var стОкно = мир.сцена.physics.add.collider(мир.стрела, мир.пфОкно);
стОкно.collideCallback = function(a, b) { стОкно.collideCallback = function(a, b) {
if (мир.стрелаЗаряжена && мир.пускСтрелы) if (мир.стрелаЗаряжена && мир.пускСтрелы)
{ {
мир.стрелаЗаряжена = false; мир.стрелаЗаряжена = false;
мир.пускСтрелы = false; мир.пускСтрелы = false;
мир.уведомить("удар стрелы об окно"); мир.уведомить("удар стрелы об окно");
console.debug("удар стрелы об окно");
} }
}; };

console.debug("стрела.x", мир.стрела.x);
}; };




@@ -463,8 +479,21 @@


ОтобразитьРазбитоеОкно = мир => ОтобразитьРазбитоеОкно = мир =>
{ {
var окно = мир.сцена.add.image(1660, 183, "окно-разбито");
окно.setOrigin(0, 0).setScale(0.75, 0.75);
мир.разбитоеОкно.setVisible(true);
};


// // // //


УведомитьЧерезПолсекундыПослеУдара = мир =>
{
setTimeout(
function() {
мир.уведомить("через полсекунды после удара");
},
500
);
}; };




@@ -487,6 +516,7 @@
создать пауков создать пауков
создать мышей создать мышей
создать стрелы создать стрелы
создать стрелу
обновить сцену обновить сцену
анимировать пауков анимировать пауков
анимировать мышей анимировать мышей
@@ -504,5 +534,8 @@
удар стрелы об окно удар стрелы об окно
воспроизвести звук удара стрелы об окно воспроизвести звук удара стрелы об окно
отобразить разбитое окно отобразить разбитое окно
уведомить через полсекунды после удара
через полсекунды после удара
создать стрелу
`); `);



Loading…
Cancel
Save