|
|
@@ -8,6 +8,7 @@ |
|
|
|
ЗагрузитьРесурсыИзбы = мир => |
|
|
|
{ |
|
|
|
мир.сцена.load.audio("звук-избы", "ресурсы/звуки/387922__setuniman__scheming-1o95.mp3"); |
|
|
|
мир.сцена.load.audio("звук-зарядки", "ресурсы/звуки/543927__eminyildirim__pistol-gun-cocking.wav"); |
|
|
|
|
|
|
|
мир.сцена.load.image("основа", "ресурсы/отладка/основа.jpg"); |
|
|
|
мир.сцена.load.image("линия", "ресурсы/отладка/линия_вертикальная.png"); |
|
|
@@ -312,11 +313,14 @@ |
|
|
|
|
|
|
|
СоздатьСтрелы = мир => |
|
|
|
{ |
|
|
|
мир.стрелаЗаряжена = false; |
|
|
|
|
|
|
|
// Кучка стрел. |
|
|
|
var группаСтрел = мир.сцена.physics.add.staticGroup(); |
|
|
|
var стрелы = группаСтрел.create(1270, 405, "основа").setOrigin(0, 0); |
|
|
|
стрелы.setScale(25, 2).refreshBody(); |
|
|
|
стрелы.body.checkCollision.down = false; |
|
|
|
стрелы.setVisible(false); |
|
|
|
var столкновение = мир.сцена.physics.add.collider(мир.колобок, стрелы); |
|
|
|
столкновение.collideCallback = function(a, b) { |
|
|
|
мир.состояниеКолобка.прыжокПоСтрелам = true; |
|
|
@@ -326,7 +330,26 @@ |
|
|
|
мир.стрелаКЛуку = мир.сцена.physics.add.sprite(1250, 380, "стрела").setOrigin(0, 0); |
|
|
|
мир.стрелаКЛуку.setScale(0.5, 0.5).refreshBody(); |
|
|
|
мир.стрелаКЛуку.depth = 15; |
|
|
|
мир.духи.add(мир.стрелаКЛуку); |
|
|
|
|
|
|
|
// Учитываем платформы. |
|
|
|
мир.сцена.physics.add.collider(мир.стрелаКЛуку, мир.каркас); |
|
|
|
мир.сцена.physics.add.collider(мир.стрелаКЛуку, мир.платформы); |
|
|
|
|
|
|
|
// Платформа для стрелы у лука, чтобы стрела оставалась в луке. |
|
|
|
var платформы = мир.сцена.physics.add.staticGroup(); |
|
|
|
var платформаЛука = платформы.create(1280, 200, "основа").setOrigin(0, 0); |
|
|
|
платформаЛука.body.checkCollision.down = false; |
|
|
|
var столкновениеЛука = мир.сцена.physics.add.collider(мир.стрелаКЛуку, платформаЛука); |
|
|
|
платформаЛука.setVisible(false); |
|
|
|
|
|
|
|
// Определение заряда стрелы. |
|
|
|
столкновениеЛука.collideCallback = function заряд(a, b) { |
|
|
|
if (мир.стрелаКЛуку.body.touching.down && !мир.стрелаЗаряжена) |
|
|
|
{ |
|
|
|
мир.стрелаЗаряжена = true; |
|
|
|
мир.уведомить("стрела заряжена"); |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
@@ -357,11 +380,24 @@ |
|
|
|
|
|
|
|
ПодкидыватьСтрелуКЛуку = мир => |
|
|
|
{ |
|
|
|
if (!мир.стрелаКЛуку.body.touching.down || мир.стрелаЗаряжена) |
|
|
|
{ |
|
|
|
return; |
|
|
|
} |
|
|
|
var скорость = мир.состояниеКолобка.скоростьПадения * 0.9; |
|
|
|
мир.стрелаКЛуку.setVelocityY(-скорость); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
ВоспроизвестиЗвукЗарядкиСтрелы = мир => |
|
|
|
{ |
|
|
|
мир.сцена.sound.play("звук-зарядки"); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
* |
|
|
|
* Последовательность |
|
|
@@ -390,5 +426,7 @@ |
|
|
|
проверить наличие прыжка по стрелам |
|
|
|
прыжок по платформе стрел |
|
|
|
подкидывать стрелу к луку |
|
|
|
стрела заряжена |
|
|
|
воспроизвести звук зарядки стрелы |
|
|
|
`); |
|
|
|
|