зарядка

This commit is contained in:
2021-04-30 15:11:11 +03:00
parent 14d641be33
commit 98993eddc3
6 changed files with 43 additions and 7 deletions

View File

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