Browse Source

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

master
parent
commit
669456e115
2 changed files with 67 additions and 21 deletions
  1. +65
    -5
      игра/110.колобок.js
  2. +2
    -16
      игра/111.изба.js

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

@@ -41,6 +41,8 @@
мигание: { }, мигание: { },
прыгучесть: -570, прыгучесть: -570,
коэффициентПрыгучести: 1, коэффициентПрыгучести: 1,
прыжок: false,
скоростьПадения: 0,
}; };
}; };


@@ -111,11 +113,12 @@
} }
мир.колобок.setVelocityX(x); мир.колобок.setVelocityX(x);


if (мир.управление.прыжок && мир.колобок.body.touching.down)
if (мир.управление.прыжок && !мир.состояниеКолобка.прыжок)
{ {
мир.состояниеКолобка.прыжок = true;
var скорость = мир.состояниеКолобка.прыгучесть * мир.состояниеКолобка.коэффициентПрыгучести; var скорость = мир.состояниеКолобка.прыгучесть * мир.состояниеКолобка.коэффициентПрыгучести;
мир.колобок.setVelocityY(скорость); мир.колобок.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 есть = ""; var есть = "";
if (мир.колобок.anims.currentAnim) if (мир.колобок.anims.currentAnim)
{ {
@@ -132,7 +172,8 @@
} }


var надо = "колобок-неподвижен"; var надо = "колобок-неподвижен";
if (мир.управление && мир.управление.прыжок && !мир.колобок.body.touching.down)
//if (мир.управление && мир.управление.прыжок && !мир.колобок.body.touching.down)
if (мир.состояниеКолобка.прыжок)
{ {
надо = "колобок-прыжок"; надо = "колобок-прыжок";
} }
@@ -264,6 +305,19 @@
}; };




// // // //


ВывестиНачалоПрыжкаВКонсоль = мир =>
{
console.debug("начало прыжка");
};
ВывестиОкончаниеПрыжкаВКонсоль = мир =>
{
console.debug("окончание прыжка");
};


/* /*
* *
* Последовательность * Последовательность
@@ -283,11 +337,17 @@
обновить сцену обновить сцену
переместить колобка переместить колобка
анимировать колобка анимировать колобка
определить окончание прыжка колобка
мигать колобка мигать колобка
остановить передвижение вещей остановить передвижение вещей
колобок начал прыжок
воспроизвести звук прыжка
вывести начало прыжка в консоль
колобок закончил прыжок
вывести окончание прыжка в консоль
начали мигать колобка начали мигать колобка
отключить столкновение с платформами и вещами
уменьшить прыгучесть колобка
# отключить столкновение с платформами и вещами
# уменьшить прыгучесть колобка
закончили мигать колобка закончили мигать колобка
включить столкновение с платформами и вещами включить столкновение с платформами и вещами
восстановить прыгучесть колобка восстановить прыгучесть колобка


+ 2
- 16
игра/111.изба.js View File

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


Loading…
Cancel
Save