переиначить остановку
This commit is contained in:
@@ -94,16 +94,18 @@
|
|||||||
мир.столкновениеВещи.collideCallback = function(a, вещь) {
|
мир.столкновениеВещи.collideCallback = function(a, вещь) {
|
||||||
var кк = мир.колобок.body.touching;
|
var кк = мир.колобок.body.touching;
|
||||||
var кв = вещь.body.touching;
|
var кв = вещь.body.touching;
|
||||||
|
|
||||||
|
if (!мир.передвигаемыеВещи)
|
||||||
|
{
|
||||||
|
мир.передвигаемыеВещи = { };
|
||||||
|
}
|
||||||
|
мир.передвигаемыеВещи[вещь.name] = new Date();
|
||||||
|
|
||||||
if (кк.down && кв.up && мир.колобок.прыжок)
|
if (кк.down && кв.up && мир.колобок.прыжок)
|
||||||
{
|
{
|
||||||
мир.колобок.вещь = вещь.name;
|
мир.колобок.вещь = вещь.name;
|
||||||
мир.уведомить("колобок прыгнул на вещь");
|
мир.уведомить("колобок прыгнул на вещь");
|
||||||
}
|
}
|
||||||
// Передвижение вещей.
|
|
||||||
if (кк.down && (кк.left || кк.right) && (кв.left || кв.right))
|
|
||||||
{
|
|
||||||
мир.колобок.датаПередвиженияВещи = new Date();
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
var столкновениеВраги = мир.сцена.physics.add.collider(мир.колобок, мир.враги);
|
var столкновениеВраги = мир.сцена.physics.add.collider(мир.колобок, мир.враги);
|
||||||
@@ -236,23 +238,6 @@
|
|||||||
// // // //
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
ОстановитьПередвижениеВещей = мир =>
|
|
||||||
{
|
|
||||||
var вещи = мир.вещи.getChildren();
|
|
||||||
for (var н in вещи)
|
|
||||||
{
|
|
||||||
var вещь = вещи[н];
|
|
||||||
if (вещь.body.touching.down)
|
|
||||||
{
|
|
||||||
вещь.body.stop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
НачатьМиганиеКолобка = мир =>
|
НачатьМиганиеКолобка = мир =>
|
||||||
{
|
{
|
||||||
var конец = new Date();
|
var конец = new Date();
|
||||||
@@ -344,29 +329,29 @@
|
|||||||
// // // //
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
ОпределитьПередвижениеВещей = мир =>
|
ОстановитьСкользящиеВещи = мир =>
|
||||||
{
|
{
|
||||||
if (!мир.колобок.датаПередвиженияВещи)
|
if (!мир.передвигаемыеВещи)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var было = мир.колобок.передвижениеВещи != null ? мир.колобок.передвижениеВещи : false;
|
var сейчас = new Date();
|
||||||
var стало = new Date() - мир.колобок.датаПередвиженияВещи < 10;
|
for (var имя in мир.передвигаемыеВещи)
|
||||||
if (было != стало)
|
|
||||||
{
|
{
|
||||||
мир.колобок.передвижениеВещи = стало;
|
var было = мир.передвигаемыеВещи[имя];
|
||||||
if (стало)
|
var узел = мир.узелСцены(имя);
|
||||||
|
if (узел && (сейчас - было > 20))
|
||||||
{
|
{
|
||||||
console.debug("колобок начал передвижение вещи");
|
узел.body.stop();
|
||||||
мир.уведомить("колобок начал передвижение вещи");
|
delete мир.передвигаемыеВещи[имя];
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
console.debug("колобок закончил передвижение вещи");
|
|
||||||
мир.уведомить("колобок закончил передвижение вещи");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!Object.keys(мир.передвигаемыеВещи).length)
|
||||||
|
{
|
||||||
|
мир.передвигаемыеВещи = null;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -391,8 +376,7 @@
|
|||||||
анимировать колобка
|
анимировать колобка
|
||||||
определить окончание прыжка колобка
|
определить окончание прыжка колобка
|
||||||
мигать колобка
|
мигать колобка
|
||||||
определить передвижение вещей
|
остановить скользящие вещи
|
||||||
# остановить передвижение вещей
|
|
||||||
колобок начал прыжок
|
колобок начал прыжок
|
||||||
воспроизвести звук прыжка
|
воспроизвести звук прыжка
|
||||||
вывести начало прыжка в консоль
|
вывести начало прыжка в консоль
|
||||||
|
|||||||
@@ -297,8 +297,8 @@
|
|||||||
x: 200,
|
x: 200,
|
||||||
y: 200,
|
y: 200,
|
||||||
texture: "самовар",
|
texture: "самовар",
|
||||||
scaleX: 0.25,
|
scaleX: 0.2,
|
||||||
scaleY: 0.25,
|
scaleY: 0.2,
|
||||||
depth: 5,
|
depth: 5,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,13 @@
|
|||||||
|
|
||||||
ЗадатьСтруктуруПодпола = мир =>
|
ЗадатьСтруктуруПодпола = мир =>
|
||||||
{
|
{
|
||||||
|
function платформаПрыжков(узел) {
|
||||||
|
var ограничить = узел.body.checkCollision;
|
||||||
|
ограничить.down = false;
|
||||||
|
ограничить.left = false;
|
||||||
|
ограничить.right = false;
|
||||||
|
}
|
||||||
|
|
||||||
мир.подпол = {
|
мир.подпол = {
|
||||||
полПодпола: {
|
полПодпола: {
|
||||||
родитель: мир.каркас,
|
родитель: мир.каркас,
|
||||||
@@ -73,6 +80,7 @@
|
|||||||
ступенька1: {
|
ступенька1: {
|
||||||
родитель: мир.платформы,
|
родитель: мир.платформы,
|
||||||
тип: "платформа",
|
тип: "платформа",
|
||||||
|
после: платформаПрыжков,
|
||||||
x: 125,
|
x: 125,
|
||||||
y: 980,
|
y: 980,
|
||||||
texture: "основа",
|
texture: "основа",
|
||||||
@@ -81,6 +89,30 @@
|
|||||||
scaleX: 5,
|
scaleX: 5,
|
||||||
visible: true,
|
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,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user