|
@@ -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 @@ |
|
|
удар стрелы об окно |
|
|
удар стрелы об окно |
|
|
воспроизвести звук удара стрелы об окно |
|
|
воспроизвести звук удара стрелы об окно |
|
|
отобразить разбитое окно |
|
|
отобразить разбитое окно |
|
|
|
|
|
уведомить через полсекунды после удара |
|
|
|
|
|
через полсекунды после удара |
|
|
|
|
|
создать стрелу |
|
|
`); |
|
|
`); |
|
|
|
|
|
|