This commit is contained in:
2021-05-30 13:45:40 +03:00
parent 326ffc403e
commit 5449e11870
7 changed files with 376 additions and 47 deletions

View File

@@ -79,12 +79,29 @@
НастроитьСтолкновениеКолобка = мир =>
{
мир.сцена.physics.add.collider(мир.колобок, мир.каркас);
var столкновениеКаркас = мир.сцена.physics.add.collider(мир.колобок, мир.каркас);
столкновениеКаркас.collideCallback = function(a, каркас) {
if (мир.колобок.body.touching.down && каркас.body.touching.up && мир.колобок.прыжок)
{
мир.колобок.каркас = каркас.name;
мир.уведомить("колобок прыгнул на каркас");
}
};
мир.столкновениеПлатформы = мир.сцена.physics.add.collider(мир.колобок, мир.платформы);
мир.столкновениеВещи = мир.сцена.physics.add.collider(мир.колобок, мир.вещи);
мир.столкновениеВещи.collideCallback = function(a, вещь) {
if (мир.колобок.body.touching.down && вещь.body.touching.up && мир.колобок.прыжок)
var кк = мир.колобок.body.touching;
var кв = вещь.body.touching;
if (!мир.передвигаемыеВещи)
{
мир.передвигаемыеВещи = { };
}
мир.передвигаемыеВещи[вещь.name] = new Date();
if (кк.down && кв.up && мир.колобок.прыжок)
{
мир.колобок.вещь = вещь.name;
мир.уведомить("колобок прыгнул на вещь");
@@ -154,7 +171,10 @@
var скоростьПадения = мир.колобок.body.velocity.y;
if (
(мир.колобок.скоростьПадения > 40) &&
(
мир.колобок.скоростьПадения > 40 ||
мир.колобок.скоростьПадения == 0
) &&
(скоростьПадения == 0) &&
мир.колобок.body.touching.down
) {
@@ -218,23 +238,6 @@
// // // //
ОстановитьПередвижениеВещей = мир =>
{
var вещи = мир.вещи.getChildren();
for (var н in вещи)
{
var вещь = вещи[н];
if (вещь.body.touching.down)
{
вещь.body.stop();
}
}
};
// // // //
НачатьМиганиеКолобка = мир =>
{
var конец = new Date();
@@ -323,6 +326,35 @@
};
// // // //
ОстановитьСкользящиеВещи = мир =>
{
if (!мир.передвигаемыеВещи)
{
return;
}
var сейчас = new Date();
for (var имя in мир.передвигаемыеВещи)
{
var было = мир.передвигаемыеВещи[имя];
var узел = мир.узелСцены(имя);
if (узел && (сейчас - было > 20))
{
узел.body.stop();
delete мир.передвигаемыеВещи[имя];
}
}
if (!Object.keys(мир.передвигаемыеВещи).length)
{
мир.передвигаемыеВещи = null;
}
};
/*
*
* Последовательность
@@ -344,7 +376,7 @@
анимировать колобка
определить окончание прыжка колобка
мигать колобка
остановить передвижение вещей
остановить скользящие вещи
колобок начал прыжок
воспроизвести звук прыжка
вывести начало прыжка в консоль