стрелять один раз
This commit is contained in:
@@ -26,7 +26,7 @@
|
|||||||
СоздатьКолобка = мир =>
|
СоздатьКолобка = мир =>
|
||||||
{
|
{
|
||||||
var x = 100;
|
var x = 100;
|
||||||
//var x = 1300;
|
var x = 1300;
|
||||||
мир.колобок = мир.сцена.physics.add.sprite(x, 500, "колобок");
|
мир.колобок = мир.сцена.physics.add.sprite(x, 500, "колобок");
|
||||||
мир.колобок.depth = 10;
|
мир.колобок.depth = 10;
|
||||||
мир.колобок.body.setSize(50);
|
мир.колобок.body.setSize(50);
|
||||||
@@ -228,7 +228,7 @@
|
|||||||
НачатьМиганиеКолобка = мир =>
|
НачатьМиганиеКолобка = мир =>
|
||||||
{
|
{
|
||||||
var конец = new Date();
|
var конец = new Date();
|
||||||
конец.setSeconds(конец.getSeconds() + 8);
|
конец.setSeconds(конец.getSeconds() + 6);
|
||||||
мир.состояниеКолобка.мигание.окончание = конец;
|
мир.состояниеКолобка.мигание.окончание = конец;
|
||||||
|
|
||||||
var звук = мир.сцена.sound.get("повреждение");
|
var звук = мир.сцена.sound.get("повреждение");
|
||||||
@@ -341,8 +341,8 @@
|
|||||||
колобок закончил прыжок
|
колобок закончил прыжок
|
||||||
вывести окончание прыжка в консоль
|
вывести окончание прыжка в консоль
|
||||||
начали мигать колобка
|
начали мигать колобка
|
||||||
отключить столкновение с платформами и вещами
|
# отключить столкновение с платформами и вещами
|
||||||
уменьшить прыгучесть колобка
|
# уменьшить прыгучесть колобка
|
||||||
закончили мигать колобка
|
закончили мигать колобка
|
||||||
включить столкновение с платформами и вещами
|
включить столкновение с платформами и вещами
|
||||||
восстановить прыгучесть колобка
|
восстановить прыгучесть колобка
|
||||||
|
|||||||
@@ -9,6 +9,8 @@
|
|||||||
{
|
{
|
||||||
мир.сцена.load.audio("звук-избы", "ресурсы/звуки/387922__setuniman__scheming-1o95.mp3");
|
мир.сцена.load.audio("звук-избы", "ресурсы/звуки/387922__setuniman__scheming-1o95.mp3");
|
||||||
мир.сцена.load.audio("звук-зарядки", "ресурсы/звуки/543927__eminyildirim__pistol-gun-cocking.wav");
|
мир.сцена.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("основа", "ресурсы/отладка/основа.jpg");
|
||||||
мир.сцена.load.image("линия", "ресурсы/отладка/линия_вертикальная.png");
|
мир.сцена.load.image("линия", "ресурсы/отладка/линия_вертикальная.png");
|
||||||
@@ -213,7 +215,7 @@
|
|||||||
{
|
{
|
||||||
x: 1003,
|
x: 1003,
|
||||||
y: 250,
|
y: 250,
|
||||||
скорость: 55,
|
скорость: 40,
|
||||||
низ: 400,
|
низ: 400,
|
||||||
верх: 200,
|
верх: 200,
|
||||||
},
|
},
|
||||||
@@ -314,6 +316,7 @@
|
|||||||
СоздатьСтрелы = мир =>
|
СоздатьСтрелы = мир =>
|
||||||
{
|
{
|
||||||
мир.стрелаЗаряжена = false;
|
мир.стрелаЗаряжена = false;
|
||||||
|
мир.пускСтрелы = false;
|
||||||
|
|
||||||
// Кучка стрел.
|
// Кучка стрел.
|
||||||
var группаСтрел = мир.сцена.physics.add.staticGroup();
|
var группаСтрел = мир.сцена.physics.add.staticGroup();
|
||||||
@@ -323,13 +326,15 @@
|
|||||||
стрелы.setVisible(false);
|
стрелы.setVisible(false);
|
||||||
var столкновение = мир.сцена.physics.add.collider(мир.колобок, стрелы);
|
var столкновение = мир.сцена.physics.add.collider(мир.колобок, стрелы);
|
||||||
столкновение.collideCallback = function(a, b) {
|
столкновение.collideCallback = function(a, b) {
|
||||||
мир.состояниеКолобка.прыжокПоСтрелам = true;
|
if (мир.колобок.body.touching.down) {
|
||||||
|
мир.состояниеКолобка.прыжокПоСтрелам = true;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Стрела в луку.
|
// Стрела к луку.
|
||||||
мир.стрелаКЛуку = мир.сцена.physics.add.sprite(1250, 380, "стрела").setOrigin(0, 0);
|
мир.стрелаКЛуку = мир.сцена.physics.add.sprite(1250, 380, "стрела").setOrigin(0, 0);
|
||||||
мир.стрелаКЛуку.setScale(0.5, 0.5).refreshBody();
|
мир.стрелаКЛуку.setScale(0.5, 0.5).refreshBody();
|
||||||
мир.стрелаКЛуку.depth = 15;
|
мир.стрелаКЛуку.depth = 5;
|
||||||
|
|
||||||
// Учитываем платформы.
|
// Учитываем платформы.
|
||||||
мир.сцена.physics.add.collider(мир.стрелаКЛуку, мир.каркас);
|
мир.сцена.physics.add.collider(мир.стрелаКЛуку, мир.каркас);
|
||||||
@@ -349,7 +354,32 @@
|
|||||||
мир.стрелаЗаряжена = true;
|
мир.стрелаЗаряжена = 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 @@
|
|||||||
подкидывать стрелу к луку
|
подкидывать стрелу к луку
|
||||||
стрела заряжена
|
стрела заряжена
|
||||||
воспроизвести звук зарядки стрелы
|
воспроизвести звук зарядки стрелы
|
||||||
|
пуск стрелы
|
||||||
|
воспроизвести звук пуска стрелы
|
||||||
|
пустить стрелу
|
||||||
|
удар стрелы об окно
|
||||||
|
воспроизвести звук удара стрелы об окно
|
||||||
`);
|
`);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user