Browse Source

-состояниеКолобка

master
parent
commit
6895e9bc62
2 changed files with 46 additions and 31 deletions
  1. +26
    -26
      игра/110.колобок.js
  2. +20
    -5
      игра/111.изба.js

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

@@ -39,14 +39,13 @@
const камера = мир.сцена.cameras.main; const камера = мир.сцена.cameras.main;
камера.startFollow(мир.колобок, false, 0.1, 0.1); камера.startFollow(мир.колобок, false, 0.1, 0.1);


мир.состояниеКолобка = {
мигать: false,
мигание: { },
прыгучесть: -570,
коэффициентПрыгучести: 1,
прыжок: false,
скоростьПадения: 0,
};
// Состояние.
мир.колобок["мигать"] = false;
мир.колобок["мигание"] = { };
мир.колобок["прыгучесть"] = -570;
мир.колобок["коэффициентПрыгучести"] = 1;
мир.колобок["прыжок"] = false;
мир.колобок["скоростьПадения"] = 0;
}; };




@@ -116,10 +115,10 @@
} }
мир.колобок.setVelocityX(x); мир.колобок.setVelocityX(x);


if (мир.управление.прыжок && !мир.состояниеКолобка.прыжок)
if (мир.управление.прыжок && !мир.колобок.прыжок)
{ {
мир.состояниеКолобка.прыжок = true;
var скорость = мир.состояниеКолобка.прыгучесть * мир.состояниеКолобка.коэффициентПрыгучести;
мир.колобок.прыжок = true;
var скорость = мир.колобок.прыгучесть * мир.колобок.коэффициентПрыгучести;
мир.колобок.setVelocityY(скорость); мир.колобок.setVelocityY(скорость);
мир.уведомить("колобок начал прыжок"); мир.уведомить("колобок начал прыжок");
} }
@@ -140,21 +139,22 @@


ОпределитьОкончаниеПрыжкаКолобка = мир => ОпределитьОкончаниеПрыжкаКолобка = мир =>
{ {
if (!мир.состояниеКолобка.прыжок)
if (!мир.колобок.прыжок)
{ {
return; return;
} }


var скоростьПадения = мир.колобок.body.velocity.y; var скоростьПадения = мир.колобок.body.velocity.y;
if ( if (
(мир.состояниеКолобка.скоростьПадения > 40) &&
(мир.колобок.скоростьПадения > 40) &&
(скоростьПадения == 0) && (скоростьПадения == 0) &&
мир.колобок.body.touching.down мир.колобок.body.touching.down
) { ) {
мир.состояниеКолобка.прыжок = false;
мир.уведомить("колобок закончит прыжок");
мир.колобок.прыжок = false;
мир.уведомить("колобок закончил прыжок"); мир.уведомить("колобок закончил прыжок");
} }
мир.состояниеКолобка.скоростьПадения = скоростьПадения;
мир.колобок.скоростьПадения = скоростьПадения;
}; };




@@ -170,7 +170,7 @@
} }


var надо = "колобок-неподвижен"; var надо = "колобок-неподвижен";
if (мир.состояниеКолобка.прыжок)
if (мир.колобок.прыжок)
{ {
надо = "колобок-прыжок"; надо = "колобок-прыжок";
} }
@@ -231,7 +231,7 @@
{ {
var конец = new Date(); var конец = new Date();
конец.setSeconds(конец.getSeconds() + 6); конец.setSeconds(конец.getSeconds() + 6);
мир.состояниеКолобка.мигание.окончание = конец;
мир.колобок.мигание.окончание = конец;


var звук = мир.сцена.sound.get("повреждение"); var звук = мир.сцена.sound.get("повреждение");
if (!звук || !звук.isPlaying) if (!звук || !звук.isPlaying)
@@ -239,13 +239,13 @@
мир.сцена.sound.play("повреждение"); мир.сцена.sound.play("повреждение");
} }


if (мир.состояниеКолобка.мигать)
if (мир.колобок.мигать)
{ {
return; return;
} }


мир.состояниеКолобка.мигать = true;
мир.состояниеКолобка.мигание = {
мир.колобок.мигать = true;
мир.колобок.мигание = {
шаг: 0.1, шаг: 0.1,
цель: 0, цель: 0,
}; };
@@ -259,17 +259,17 @@


МигатьКолобка = мир => МигатьКолобка = мир =>
{ {
if (!мир.состояниеКолобка.мигать)
if (!мир.колобок.мигать)
{ {
return; return;
} }


var м = мир.состояниеКолобка.мигание;
var м = мир.колобок.мигание;
var сейчас = new Date(); var сейчас = new Date();


if (м.окончание - сейчас < 0) if (м.окончание - сейчас < 0)
{ {
мир.состояниеКолобка.мигать = false;
мир.колобок.мигать = false;
мир.колобок.alpha = 1; мир.колобок.alpha = 1;
мир.уведомить("закончили мигать колобка"); мир.уведомить("закончили мигать колобка");
return; return;
@@ -289,7 +289,7 @@


УменьшитьПрыгучестьКолобка = мир => УменьшитьПрыгучестьКолобка = мир =>
{ {
мир.состояниеКолобка.коэффициентПрыгучести = 0.6;
мир.колобок.коэффициентПрыгучести = 0.6;
}; };




@@ -298,7 +298,7 @@


ВосстановитьПрыгучестьКолобка = мир => ВосстановитьПрыгучестьКолобка = мир =>
{ {
мир.состояниеКолобка.коэффициентПрыгучести = 1;
мир.колобок.коэффициентПрыгучести = 1;
}; };




@@ -311,7 +311,7 @@
}; };
ВывестиОкончаниеПрыжкаВКонсоль = мир => ВывестиОкончаниеПрыжкаВКонсоль = мир =>
{ {
console.debug("окончание прыжка. скорость:", мир.состояниеКолобка.скоростьПадения);
console.debug("окончание прыжка. скорость:", мир.колобок.скоростьПадения);
}; };






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

@@ -229,7 +229,8 @@
родитель: мир.сцена.physics, родитель: мир.сцена.physics,
тип: "спрайт", тип: "спрайт",
группы: [мир.вещи], группы: [мир.вещи],
x: 785,
//x: 785,
x: 285,
y: 240, y: 240,
texture: "молоко", texture: "молоко",
scaleX: 0.4, scaleX: 0.4,
@@ -533,7 +534,7 @@
// Определение прыжка по стрелам. // Определение прыжка по стрелам.
мир.сцена.physics.add.collider(мир.колобок, куча, function(a, b) { мир.сцена.physics.add.collider(мир.колобок, куча, function(a, b) {
if (мир.колобок.body.touching.down) { if (мир.колобок.body.touching.down) {
мир.состояниеКолобка.прыжокПоСтрелам = true;
мир.колобок.прыжокПоСтрелам = true;
} }
}); });


@@ -595,7 +596,7 @@


ОтследитьПрыжокПоСтрелам = мир => ОтследитьПрыжокПоСтрелам = мир =>
{ {
мир.состояниеКолобка.прыжокПоСтрелам = null;
мир.колобок.прыжокПоСтрелам = null;
}; };




@@ -604,7 +605,7 @@


ПроверитьНаличиеПрыжкаПоСтрелам = мир => ПроверитьНаличиеПрыжкаПоСтрелам = мир =>
{ {
if (!мир.состояниеКолобка.прыжокПоСтрелам)
if (!мир.колобок.прыжокПоСтрелам)
{ {
return; return;
} }
@@ -621,7 +622,7 @@
{ {
return; return;
} }
var скорость = мир.состояниеКолобка.скоростьПадения * 0.9;
var скорость = мир.колобок.скоростьПадения * 0.9;
мир.стрела.setVelocityY(-скорость); мир.стрела.setVelocityY(-скорость);
}; };


@@ -731,6 +732,19 @@
}; };




// // // //


ПроверитьСтолкновениеСМолоком = мир =>
{
var молоко = мир.узелСцены("молоко");
var ст = мир.сцена.physics.add.collider(мир.колобок, молоко);
ст.collideCallback = function(a, b) {
console.debug("столкновение с молоком");
};
};


/* /*
* *
* Последовательность * Последовательность
@@ -750,6 +764,7 @@
настроить мышей настроить мышей
настроить стрелы настроить стрелы
создать стрелу создать стрелу
проверить столкновение с молоком
обновить сцену обновить сцену
анимировать пауков анимировать пауков
анимировать мышей анимировать мышей


Loading…
Cancel
Save