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;
камера.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("окончание прыжка. скорость:", мир.колобок.скоростьПадения);
};




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

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

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

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


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

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

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


// // // //


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


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


Loading…
Cancel
Save