Browse Source

стрелять один раз

master
parent
commit
4c12242336
2 changed files with 71 additions and 9 deletions
  1. +4
    -4
      игра/110.колобок.js
  2. +67
    -5
      игра/111.изба.js

+ 4
- 4
игра/110.колобок.js View File

@@ -26,7 +26,7 @@
СоздатьКолобка = мир =>
{
var x = 100;
//var x = 1300;
var x = 1300;
мир.колобок = мир.сцена.physics.add.sprite(x, 500, "колобок");
мир.колобок.depth = 10;
мир.колобок.body.setSize(50);
@@ -228,7 +228,7 @@
НачатьМиганиеКолобка = мир =>
{
var конец = new Date();
конец.setSeconds(конец.getSeconds() + 8);
конец.setSeconds(конец.getSeconds() + 6);
мир.состояниеКолобка.мигание.окончание = конец;

var звук = мир.сцена.sound.get("повреждение");
@@ -341,8 +341,8 @@
колобок закончил прыжок
вывести окончание прыжка в консоль
начали мигать колобка
отключить столкновение с платформами и вещами
уменьшить прыгучесть колобка
# отключить столкновение с платформами и вещами
# уменьшить прыгучесть колобка
закончили мигать колобка
включить столкновение с платформами и вещами
восстановить прыгучесть колобка


+ 67
- 5
игра/111.изба.js View File

@@ -9,6 +9,8 @@
{
мир.сцена.load.audio("звук-избы", "ресурсы/звуки/387922__setuniman__scheming-1o95.mp3");
мир.сцена.load.audio("звук-зарядки", "ресурсы/звуки/543927__eminyildirim__pistol-gun-cocking.wav");
мир.сцена.load.audio("пуск-стрелы", "ресурсы/звуки/521552__omerbhatti34__arrow-impact.mp3");
мир.сцена.load.audio("удар-стрелы", "ресурсы/звуки/330800__czarcazas__shattering-glass-small.mp3");

мир.сцена.load.image("основа", "ресурсы/отладка/основа.jpg");
мир.сцена.load.image("линия", "ресурсы/отладка/линия_вертикальная.png");
@@ -213,7 +215,7 @@
{
x: 1003,
y: 250,
скорость: 55,
скорость: 40,
низ: 400,
верх: 200,
},
@@ -314,6 +316,7 @@
СоздатьСтрелы = мир =>
{
мир.стрелаЗаряжена = false;
мир.пускСтрелы = false;

// Кучка стрел.
var группаСтрел = мир.сцена.physics.add.staticGroup();
@@ -323,13 +326,15 @@
стрелы.setVisible(false);
var столкновение = мир.сцена.physics.add.collider(мир.колобок, стрелы);
столкновение.collideCallback = function(a, b) {
мир.состояниеКолобка.прыжокПоСтрелам = true;
if (мир.колобок.body.touching.down) {
мир.состояниеКолобка.прыжокПоСтрелам = true;
}
};

// Стрела в луку.
// Стрела к луку.
мир.стрелаКЛуку = мир.сцена.physics.add.sprite(1250, 380, "стрела").setOrigin(0, 0);
мир.стрелаКЛуку.setScale(0.5, 0.5).refreshBody();
мир.стрелаКЛуку.depth = 15;
мир.стрелаКЛуку.depth = 5;

// Учитываем платформы.
мир.сцена.physics.add.collider(мир.стрелаКЛуку, мир.каркас);
@@ -349,7 +354,32 @@
мир.стрелаЗаряжена = true;
мир.уведомить("стрела заряжена");
}
}
};

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

// Платформа для стрелы у окна, чтобы стрела не летела дальше.
var платформаОкна = платформы.create(1830, 200, "основа").setOrigin(0, 0);
платформаОкна.setScale(1, 20).refreshBody();
var ударОбОкно = мир.сцена.physics.add.collider(мир.стрелаКЛуку, платформаОкна);
платформаОкна.setVisible(false);
ударОбОкно.collideCallback = function(a, b) {
if (мир.стрелаЗаряжена && мир.пускСтрелы)
{
мир.стрелаЗаряжена = false;
мир.пускСтрелы = false;
мир.уведомить("удар стрелы об окно");
}
};
};


@@ -398,6 +428,33 @@
};


// // // //


ВоспроизвестиЗвукПускаСтрелы = мир =>
{
мир.сцена.sound.play("пуск-стрелы");
};


// // // //


ПуститьСтрелу = мир =>
{
мир.стрелаКЛуку.setVelocityX(1200);
};


// // // //


ВоспроизвестиЗвукУдараСтрелыОбОкно = мир =>
{
мир.сцена.sound.play("удар-стрелы");
};


/*
*
* Последовательность
@@ -428,5 +485,10 @@
подкидывать стрелу к луку
стрела заряжена
воспроизвести звук зарядки стрелы
пуск стрелы
воспроизвести звук пуска стрелы
пустить стрелу
удар стрелы об окно
воспроизвести звук удара стрелы об окно
`);


Loading…
Cancel
Save