отдельно подпол
This commit is contained in:
@@ -32,6 +32,7 @@
|
|||||||
<script src="игра/109.управление.js"></script>
|
<script src="игра/109.управление.js"></script>
|
||||||
<script src="игра/110.колобок.js"></script>
|
<script src="игра/110.колобок.js"></script>
|
||||||
<script src="игра/111.изба.js"></script>
|
<script src="игра/111.изба.js"></script>
|
||||||
|
<script src="игра/112.подпол.js"></script>
|
||||||
<script src="игра/200.отладка.js"></script>
|
<script src="игра/200.отладка.js"></script>
|
||||||
<script src="игра/499.пуск.js"></script>
|
<script src="игра/499.пуск.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -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(мир.колобок, мир.платформы);
|
||||||
|
|
||||||
мир.столкновениеВещи = мир.сцена.physics.add.collider(мир.колобок, мир.вещи);
|
мир.столкновениеВещи = мир.сцена.physics.add.collider(мир.колобок, мир.вещи);
|
||||||
|
|||||||
@@ -69,7 +69,7 @@
|
|||||||
originX: 0,
|
originX: 0,
|
||||||
originY: 0,
|
originY: 0,
|
||||||
scaleX: 43,
|
scaleX: 43,
|
||||||
visible: true,
|
visible: false,
|
||||||
},
|
},
|
||||||
полКрышки: {
|
полКрышки: {
|
||||||
родитель: мир.каркас,
|
родитель: мир.каркас,
|
||||||
@@ -80,16 +80,16 @@
|
|||||||
originX: 0,
|
originX: 0,
|
||||||
originY: 0,
|
originY: 0,
|
||||||
scaleX: 16,
|
scaleX: 16,
|
||||||
visible: true,
|
visible: false,
|
||||||
},
|
},
|
||||||
крышка: {
|
крышка: {
|
||||||
родитель: мир.сцена,
|
родитель: мир.сцена,
|
||||||
тип: "изображение",
|
тип: "изображение",
|
||||||
x: 357,
|
x: 357,
|
||||||
y: 575,
|
y: 605,
|
||||||
texture: "крышка-подпола",
|
texture: "крышка-подпола",
|
||||||
originX: 0,
|
originX: 0,
|
||||||
originY: 0,
|
originY: 1,
|
||||||
scaleX: 0.4,
|
scaleX: 0.4,
|
||||||
scaleY: 0.4,
|
scaleY: 0.4,
|
||||||
},
|
},
|
||||||
@@ -102,7 +102,7 @@
|
|||||||
originX: 0,
|
originX: 0,
|
||||||
originY: 0,
|
originY: 0,
|
||||||
scaleX: 200,
|
scaleX: 200,
|
||||||
visible: true,
|
visible: false,
|
||||||
},
|
},
|
||||||
|
|
||||||
леваяСтена: {
|
леваяСтена: {
|
||||||
@@ -459,9 +459,6 @@
|
|||||||
{
|
{
|
||||||
создатьУзлыСценыПоСтруктуре(мир.изба);
|
создатьУзлыСценыПоСтруктуре(мир.изба);
|
||||||
мир.сцена.sound.play("звук-избы", { loop: true });
|
мир.сцена.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 @@
|
|||||||
перевернули молоко
|
перевернули молоко
|
||||||
показать лужу молока
|
показать лужу молока
|
||||||
воспроизвести звук переворота молока
|
воспроизвести звук переворота молока
|
||||||
|
колобок прыгнул на каркас
|
||||||
|
проверить прыжок по крышке подпола
|
||||||
|
колобок прыгнул по крышке подпола
|
||||||
|
начать поворот крышки подпола
|
||||||
|
|
||||||
обновить сцену
|
обновить сцену
|
||||||
анимировать пауков
|
анимировать пауков
|
||||||
анимировать мышей
|
анимировать мышей
|
||||||
анимировать переворот молока
|
анимировать переворот молока
|
||||||
|
анимировать поворот крышки подпола
|
||||||
`);
|
`);
|
||||||
|
|
||||||
|
|||||||
87
игра/112.подпол.js
Normal file
87
игра/112.подпол.js
Normal file
@@ -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,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
СоздатьПодпол = мир =>
|
||||||
|
{
|
||||||
|
создатьУзлыСценыПоСтруктуре(мир.подпол);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
* Последовательность
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
мир.разобрать(`
|
||||||
|
загрузить ресурсы сцены
|
||||||
|
загрузить ресурсы подпола
|
||||||
|
создать сцену
|
||||||
|
задать структуру подпола
|
||||||
|
создать подпол
|
||||||
|
`);
|
||||||
|
|
||||||
BIN
ресурсы/вещи/лестница.png
Normal file
BIN
ресурсы/вещи/лестница.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 376 KiB |
BIN
ресурсы/вещи/лестница.xcf
Normal file
BIN
ресурсы/вещи/лестница.xcf
Normal file
Binary file not shown.
Reference in New Issue
Block a user