допвыстрелы
This commit is contained in:
@@ -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);
|
мир.пфЛук = мир.пфСтрел.create(1280, 200, "основа").setOrigin(0, 0);
|
||||||
лук.body.checkCollision.down = false;
|
мир.пфЛук.body.checkCollision.down = false;
|
||||||
лук.setVisible(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);
|
мир.пфОкно = мир.пфСтрел.create(1830, 200, "основа").setOrigin(0, 0);
|
||||||
окно.setScale(1, 20).refreshBody();
|
мир.пфОкно.setScale(1, 20).refreshBody();
|
||||||
окно.setVisible(false);
|
мир.пфОкно.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(пуск, мир.колобок);
|
var стОкно = мир.сцена.physics.add.collider(мир.стрела, мир.пфОкно);
|
||||||
стПуск.collideCallback = function(a, b) {
|
|
||||||
if (мир.стрелаЗаряжена && !мир.пускСтрелы)
|
|
||||||
{
|
|
||||||
мир.пускСтрелы = true;
|
|
||||||
мир.уведомить("пуск стрелы");
|
|
||||||
}
|
|
||||||
};
|
|
||||||
стПуск.overlapOnly = true;
|
|
||||||
|
|
||||||
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, "окно-разбито");
|
мир.разбитоеОкно.setVisible(true);
|
||||||
окно.setOrigin(0, 0).setScale(0.75, 0.75);
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
УведомитьЧерезПолсекундыПослеУдара = мир =>
|
||||||
|
{
|
||||||
|
setTimeout(
|
||||||
|
function() {
|
||||||
|
мир.уведомить("через полсекунды после удара");
|
||||||
|
},
|
||||||
|
500
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -487,6 +516,7 @@
|
|||||||
создать пауков
|
создать пауков
|
||||||
создать мышей
|
создать мышей
|
||||||
создать стрелы
|
создать стрелы
|
||||||
|
создать стрелу
|
||||||
обновить сцену
|
обновить сцену
|
||||||
анимировать пауков
|
анимировать пауков
|
||||||
анимировать мышей
|
анимировать мышей
|
||||||
@@ -504,5 +534,8 @@
|
|||||||
удар стрелы об окно
|
удар стрелы об окно
|
||||||
воспроизвести звук удара стрелы об окно
|
воспроизвести звук удара стрелы об окно
|
||||||
отобразить разбитое окно
|
отобразить разбитое окно
|
||||||
|
уведомить через полсекунды после удара
|
||||||
|
через полсекунды после удара
|
||||||
|
создать стрелу
|
||||||
`);
|
`);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user