отдельно подпол

This commit is contained in:
2021-05-19 14:06:31 +03:00
förälder f2bbe51d1b
incheckning a2aba773e6
6 ändrade filer med 176 tillägg och 9 borttagningar

Visa fil

@@ -32,6 +32,7 @@
<script src="игра/109.управление.js"></script>
<script src="игра/110.колобок.js"></script>
<script src="игра/111.изба.js"></script>
<script src="игра/112.подпол.js"></script>
<script src="игра/200.отладка.js"></script>
<script src="игра/499.пуск.js"></script>
</body>

Visa fil

@@ -79,7 +79,15 @@
НастроитьСтолкновениеКолобка = мир =>
{
мир.сцена.physics.add.collider(мир.колобок, мир.каркас);
var столкновениеКаркас = мир.сцена.physics.add.collider(мир.колобок, мир.каркас);
столкновениеКаркас.collideCallback = function(a, каркас) {
if (мир.колобок.body.touching.down && каркас.body.touching.up && мир.колобок.прыжок)
{
мир.колобок.каркас = каркас.name;
мир.уведомить("колобок прыгнул на каркас");
}
};
мир.столкновениеПлатформы = мир.сцена.physics.add.collider(мир.колобок, мир.платформы);
мир.столкновениеВещи = мир.сцена.physics.add.collider(мир.колобок, мир.вещи);

Visa fil

@@ -69,7 +69,7 @@
originX: 0,
originY: 0,
scaleX: 43,
visible: true,
visible: false,
},
полКрышки: {
родитель: мир.каркас,
@@ -80,16 +80,16 @@
originX: 0,
originY: 0,
scaleX: 16,
visible: true,
visible: false,
},
крышка: {
родитель: мир.сцена,
тип: "изображение",
x: 357,
y: 575,
y: 605,
texture: "крышка-подпола",
originX: 0,
originY: 0,
originY: 1,
scaleX: 0.4,
scaleY: 0.4,
},
@@ -102,7 +102,7 @@
originX: 0,
originY: 0,
scaleX: 200,
visible: true,
visible: false,
},
леваяСтена: {
@@ -459,9 +459,6 @@
{
создатьУзлыСценыПоСтруктуре(мир.изба);
мир.сцена.sound.play("звук-избы", { loop: true });
мир.крышка = мир.узелСцены("крышка");
мир.полКрышки = мир.узелСцены("полКрышки");
};
@@ -877,6 +874,75 @@
};
// // // //
ПроверитьПрыжокПоКрышкеПодпола = мир =>
{
if (мир.колобок.каркас == "полКрышки")
{
мир.уведомить("колобок прыгнул по крышке подпола");
}
};
// // // //
НачатьПоворотКрышкиПодпола = мир =>
{
if (мир.крышка)
{
return;
}
мир.крышка = мир.узелСцены("крышка");
мир.крышка.поворот = 1;
};
// // // //
АнимироватьПоворотКрышкиПодпола = мир =>
{
if (!мир.крышка)
{
return;
}
var скорость = 4;
if (мир.крышка.поворот == 1)
{
мир.крышка.setAngle(мир.крышка.angle - скорость);
if (мир.крышка.angle <= -90)
{
мир.крышка.поворот = 2;
}
}
else if (мир.крышка.поворот == 2)
{
мир.узелСцены("полКрышки").body.checkCollision.none = true;
мир.крышка.поворот = 3;
setTimeout(
function() {
мир.крышка.поворот = 4;
},
5000
);
}
else if (мир.крышка.поворот == 4)
{
мир.крышка.setAngle(мир.крышка.angle + скорость);
if (мир.крышка.angle >= 0)
{
мир.узелСцены("полКрышки").body.checkCollision.none = false;
мир.крышка = null;
}
}
};
/*
*
* Последовательность
@@ -928,10 +994,15 @@
перевернули молоко
показать лужу молока
воспроизвести звук переворота молока
колобок прыгнул на каркас
проверить прыжок по крышке подпола
колобок прыгнул по крышке подпола
начать поворот крышки подпола
обновить сцену
анимировать пауков
анимировать мышей
анимировать переворот молока
анимировать поворот крышки подпола
`);

Visa fil

@@ -0,0 +1,87 @@
/*
*
* Реакции
*
*/
ЗагрузитьРесурсыПодпола = мир =>
{
const изображения = {
"лестница": "ресурсы/вещи/лестница.png",
};
for (var имя in изображения)
{
мир.сцена.load.image(имя, изображения[имя]);
}
};
// // // //
ЗадатьСтруктуруПодпола = мир =>
{
мир.подпол = {
пол: {
родитель: мир.каркас,
тип: "платформа",
x: 0,
y: 985,
texture: "основа",
originX: 0,
originY: 0,
scaleX: 250,
visible: true,
},
леваяСтена: {
родитель: мир.каркас,
тип: "платформа",
x: 0,
y: 600,
texture: "основа",
originX: 0,
originY: 0,
scaleY: 50,
visible: false,
},
праваяСтена: {
родитель: мир.каркас,
тип: "платформа",
x: 2000,
y: 600,
texture: "основа",
originX: 0,
originY: 0,
scaleY: 50,
visible: false,
},
};
};
// // // //
СоздатьПодпол = мир =>
{
создатьУзлыСценыПоСтруктуре(мир.подпол);
};
/*
*
* Последовательность
*
*/
мир.разобрать(`
загрузить ресурсы сцены
загрузить ресурсы подпола
создать сцену
задать структуру подпола
создать подпол
`);

Binary file not shown.

Efter

Bredd:  |  Höjd:  |  Storlek: 376 KiB

Binary file not shown.