определение прыжка почти

This commit is contained in:
2021-04-28 14:55:39 +03:00
parent 592e3797ed
commit 669456e115
2 changed files with 67 additions and 21 deletions

View File

@@ -41,6 +41,8 @@
мигание: { },
прыгучесть: -570,
коэффициентПрыгучести: 1,
прыжок: false,
скоростьПадения: 0,
};
};
@@ -111,11 +113,12 @@
}
мир.колобок.setVelocityX(x);
if (мир.управление.прыжок && мир.колобок.body.touching.down)
if (мир.управление.прыжок && !мир.состояниеКолобка.прыжок)
{
мир.состояниеКолобка.прыжок = true;
var скорость = мир.состояниеКолобка.прыгучесть * мир.состояниеКолобка.коэффициентПрыгучести;
мир.колобок.setVelocityY(скорость);
мир.сцена.sound.play("прыжок");
мир.уведомить("колобок начал прыжок");
}
};
@@ -123,8 +126,45 @@
// // // //
ВоспроизвестиЗвукПрыжка = мир =>
{
мир.сцена.sound.play("прыжок");
};
// // // //
ОпределитьОкончаниеПрыжкаКолобка = мир =>
{
if (!мир.состояниеКолобка.прыжок)
{
return;
}
var скоростьПадения = мир.колобок.body.velocity.y;
if (
(мир.состояниеКолобка.скоростьПадения > 300) &&
(скоростьПадения == 0) &&
мир.колобок.body.touching.down
) {
мир.состояниеКолобка.прыжок = false;
мир.уведомить("колобок закончил прыжок");
}
мир.состояниеКолобка.скоростьПадения = скоростьПадения;
};
// // // //
АнимироватьКолобка = мир =>
{
//console.debug("скорость x/y/touching.down", мир.колобок.body.velocity.x, мир.колобок.body.velocity.y, мир.колобок.body.touching.down);
var есть = "";
if (мир.колобок.anims.currentAnim)
{
@@ -132,7 +172,8 @@
}
var надо = "колобок-неподвижен";
if (мир.управление && мир.управление.прыжок && !мир.колобок.body.touching.down)
//if (мир.управление && мир.управление.прыжок && !мир.колобок.body.touching.down)
if (мир.состояниеКолобка.прыжок)
{
надо = "колобок-прыжок";
}
@@ -264,6 +305,19 @@
};
// // // //
ВывестиНачалоПрыжкаВКонсоль = мир =>
{
console.debug("начало прыжка");
};
ВывестиОкончаниеПрыжкаВКонсоль = мир =>
{
console.debug("окончание прыжка");
};
/*
*
* Последовательность
@@ -283,11 +337,17 @@
обновить сцену
переместить колобка
анимировать колобка
определить окончание прыжка колобка
мигать колобка
остановить передвижение вещей
колобок начал прыжок
воспроизвести звук прыжка
вывести начало прыжка в консоль
колобок закончил прыжок
вывести окончание прыжка в консоль
начали мигать колобка
отключить столкновение с платформами и вещами
уменьшить прыгучесть колобка
# отключить столкновение с платформами и вещами
# уменьшить прыгучесть колобка
закончили мигать колобка
включить столкновение с платформами и вещами
восстановить прыгучесть колобка

View File

@@ -128,11 +128,13 @@
y: 180,
ширина: 12,
},
// Стол.
{
x: 1270,
y: 427,
ширина: 70,
},
// Окно.
{
x: 1690,
y: 375,
@@ -192,22 +194,6 @@
низ: 550,
верх: 270,
},
/*
{
x: 740,
y: 445,
скорость: 65,
низ: 550,
верх: 270,
},
{
x: 830,
y: 375,
скорость: 80,
низ: 550,
верх: 270,
},
*/
{
x: 785,
y: 375,