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

This commit is contained in:
2021-05-11 16:33:52 +03:00
parent 8f75c30792
commit 6895e9bc62
2 changed files with 46 additions and 31 deletions

View File

@@ -39,14 +39,13 @@
const камера = мир.сцена.cameras.main;
камера.startFollow(мир.колобок, false, 0.1, 0.1);
мир.состояниеКолобка = {
мигать: false,
мигание: { },
прыгучесть: -570,
коэффициентПрыгучести: 1,
прыжок: false,
скоростьПадения: 0,
};
// Состояние.
мир.колобок["мигать"] = false;
мир.колобок["мигание"] = { };
мир.колобок["прыгучесть"] = -570;
мир.колобок["коэффициентПрыгучести"] = 1;
мир.колобок["прыжок"] = false;
мир.колобок["скоростьПадения"] = 0;
};
@@ -116,10 +115,10 @@
}
мир.колобок.setVelocityX(x);
if (мир.управление.прыжок && !мир.состояниеКолобка.прыжок)
if (мир.управление.прыжок && !мир.колобок.прыжок)
{
мир.состояниеКолобка.прыжок = true;
var скорость = мир.состояниеКолобка.прыгучесть * мир.состояниеКолобка.коэффициентПрыгучести;
мир.колобок.прыжок = true;
var скорость = мир.колобок.прыгучесть * мир.колобок.коэффициентПрыгучести;
мир.колобок.setVelocityY(скорость);
мир.уведомить("колобок начал прыжок");
}
@@ -140,21 +139,22 @@
ОпределитьОкончаниеПрыжкаКолобка = мир =>
{
if (!мир.состояниеКолобка.прыжок)
if (!мир.колобок.прыжок)
{
return;
}
var скоростьПадения = мир.колобок.body.velocity.y;
if (
(мир.состояниеКолобка.скоростьПадения > 40) &&
(мир.колобок.скоростьПадения > 40) &&
(скоростьПадения == 0) &&
мир.колобок.body.touching.down
) {
мир.состояниеКолобка.прыжок = false;
мир.уведомить("колобок закончит прыжок");
мир.колобок.прыжок = false;
мир.уведомить("колобок закончил прыжок");
}
мир.состояниеКолобка.скоростьПадения = скоростьПадения;
мир.колобок.скоростьПадения = скоростьПадения;
};
@@ -170,7 +170,7 @@
}
var надо = "колобок-неподвижен";
if (мир.состояниеКолобка.прыжок)
if (мир.колобок.прыжок)
{
надо = "колобок-прыжок";
}
@@ -231,7 +231,7 @@
{
var конец = new Date();
конец.setSeconds(конец.getSeconds() + 6);
мир.состояниеКолобка.мигание.окончание = конец;
мир.колобок.мигание.окончание = конец;
var звук = мир.сцена.sound.get("повреждение");
if (!звук || !звук.isPlaying)
@@ -239,13 +239,13 @@
мир.сцена.sound.play("повреждение");
}
if (мир.состояниеКолобка.мигать)
if (мир.колобок.мигать)
{
return;
}
мир.состояниеКолобка.мигать = true;
мир.состояниеКолобка.мигание = {
мир.колобок.мигать = true;
мир.колобок.мигание = {
шаг: 0.1,
цель: 0,
};
@@ -259,17 +259,17 @@
МигатьКолобка = мир =>
{
if (!мир.состояниеКолобка.мигать)
if (!мир.колобок.мигать)
{
return;
}
var м = мир.состояниеКолобка.мигание;
var м = мир.колобок.мигание;
var сейчас = new Date();
if (м.окончание - сейчас < 0)
{
мир.состояниеКолобка.мигать = false;
мир.колобок.мигать = false;
мир.колобок.alpha = 1;
мир.уведомить("закончили мигать колобка");
return;
@@ -289,7 +289,7 @@
УменьшитьПрыгучестьКолобка = мир =>
{
мир.состояниеКолобка.коэффициентПрыгучести = 0.6;
мир.колобок.коэффициентПрыгучести = 0.6;
};
@@ -298,7 +298,7 @@
ВосстановитьПрыгучестьКолобка = мир =>
{
мир.состояниеКолобка.коэффициентПрыгучести = 1;
мир.колобок.коэффициентПрыгучести = 1;
};
@@ -311,7 +311,7 @@
};
ВывестиОкончаниеПрыжкаВКонсоль = мир =>
{
console.debug("окончание прыжка. скорость:", мир.состояниеКолобка.скоростьПадения);
console.debug("окончание прыжка. скорость:", мир.колобок.скоростьПадения);
};