ソースを参照

переиначить остановку

master
コミット
43ffa72790
3個のファイルの変更56行の追加40行の削除
  1. +22
    -38
      игра/110.колобок.js
  2. +2
    -2
      игра/111.изба.js
  3. +32
    -0
      игра/112.подпол.js

+ 22
- 38
игра/110.колобок.js ファイルの表示

@@ -94,16 +94,18 @@
мир.столкновениеВещи.collideCallback = function(a, вещь) {
var кк = мир.колобок.body.touching;
var кв = вещь.body.touching;

if (!мир.передвигаемыеВещи)
{
мир.передвигаемыеВещи = { };
}
мир.передвигаемыеВещи[вещь.name] = new Date();

if (кк.down && кв.up && мир.колобок.прыжок)
{
мир.колобок.вещь = вещь.name;
мир.уведомить("колобок прыгнул на вещь");
}
// Передвижение вещей.
if (кк.down && (кк.left || кк.right) && (кв.left || кв.right))
{
мир.колобок.датаПередвиженияВещи = new Date();
}
};

var столкновениеВраги = мир.сцена.physics.add.collider(мир.колобок, мир.враги);
@@ -236,23 +238,6 @@
// // // //


ОстановитьПередвижениеВещей = мир =>
{
var вещи = мир.вещи.getChildren();
for (var н in вещи)
{
var вещь = вещи[н];
if (вещь.body.touching.down)
{
вещь.body.stop();
}
}
};


// // // //


НачатьМиганиеКолобка = мир =>
{
var конец = new Date();
@@ -344,29 +329,29 @@
// // // //


ОпределитьПередвижениеВещей = мир =>
ОстановитьСкользящиеВещи = мир =>
{
if (!мир.колобок.датаПередвиженияВещи)
if (!мир.передвигаемыеВещи)
{
return;
}

var было = мир.колобок.передвижениеВещи != null ? мир.колобок.передвижениеВещи : false;
var стало = new Date() - мир.колобок.датаПередвиженияВещи < 10;
if (было != стало)
var сейчас = new Date();
for (var имя in мир.передвигаемыеВещи)
{
мир.колобок.передвижениеВещи = стало;
if (стало)
var было = мир.передвигаемыеВещи[имя];
var узел = мир.узелСцены(имя);
if (узел && (сейчас - было > 20))
{
console.debug("колобок начал передвижение вещи");
мир.уведомить("колобок начал передвижение вещи");
}
else
{
console.debug("колобок закончил передвижение вещи");
мир.уведомить("колобок закончил передвижение вещи");
узел.body.stop();
delete мир.передвигаемыеВещи[имя];
}
}

if (!Object.keys(мир.передвигаемыеВещи).length)
{
мир.передвигаемыеВещи = null;
}
};


@@ -391,8 +376,7 @@
анимировать колобка
определить окончание прыжка колобка
мигать колобка
определить передвижение вещей
# остановить передвижение вещей
остановить скользящие вещи
колобок начал прыжок
воспроизвести звук прыжка
вывести начало прыжка в консоль


+ 2
- 2
игра/111.изба.js ファイルの表示

@@ -297,8 +297,8 @@
x: 200,
y: 200,
texture: "самовар",
scaleX: 0.25,
scaleY: 0.25,
scaleX: 0.2,
scaleY: 0.2,
depth: 5,
},



+ 32
- 0
игра/112.подпол.js ファイルの表示

@@ -22,6 +22,13 @@

ЗадатьСтруктуруПодпола = мир =>
{
function платформаПрыжков(узел) {
var ограничить = узел.body.checkCollision;
ограничить.down = false;
ограничить.left = false;
ограничить.right = false;
}

мир.подпол = {
полПодпола: {
родитель: мир.каркас,
@@ -73,6 +80,7 @@
ступенька1: {
родитель: мир.платформы,
тип: "платформа",
после: платформаПрыжков,
x: 125,
y: 980,
texture: "основа",
@@ -81,6 +89,30 @@
scaleX: 5,
visible: true,
},
ступенька2: {
родитель: мир.платформы,
тип: "платформа",
после: платформаПрыжков,
x: 125,
y: 865,
texture: "основа",
originX: 0,
originY: 0,
scaleX: 5,
visible: true,
},
ступенька3: {
родитель: мир.платформы,
тип: "платформа",
после: платформаПрыжков,
x: 125,
y: 750,
texture: "основа",
originX: 0,
originY: 0,
scaleX: 5,
visible: true,
},
};
};



読み込み中…
キャンセル
保存