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

@@ -7,26 +7,39 @@
ЗагрузитьРесурсыИзбы = мир =>
{
мир.сцена.load.audio("звук-избы", "ресурсы/звуки/387922__setuniman__scheming-1o95.mp3");
мир.сцена.load.audio("звук-зарядки", "ресурсы/звуки/543927__eminyildirim__pistol-gun-cocking.wav");
мир.сцена.load.audio("пуск-стрелы", "ресурсы/звуки/521552__omerbhatti34__arrow-impact.mp3");
мир.сцена.load.audio("удар-стрелы", "ресурсы/звуки/330800__czarcazas__shattering-glass-small.mp3");
мир.сцена.load.audio("выломали-окно", "ресурсы/звуки/448004__kneeling__break-window.mp3");
мир.сцена.load.audio("молоко-перевернули", "ресурсы/звуки/235596__tcrocker68__large-glassbottle-fall-woodfloor.wav");
мир.сцена.load.audio("молоко-прыгнули", "ресурсы/звуки/352065__cabled-mess__glassy-bits-06.wav");
const звуки = {
"звук-избы": "ресурсы/звуки/387922__setuniman__scheming-1o95.mp3",
"звук-зарядки": "ресурсы/звуки/543927__eminyildirim__pistol-gun-cocking.wav",
"пуск-стрелы": "ресурсы/звуки/521552__omerbhatti34__arrow-impact.mp3",
"удар-стрелы": "ресурсы/звуки/330800__czarcazas__shattering-glass-small.mp3",
"выломали-окно": "ресурсы/звуки/448004__kneeling__break-window.mp3",
"молоко-перевернули": "ресурсы/звуки/235596__tcrocker68__large-glassbottle-fall-woodfloor.wav",
"молоко-прыгнули": "ресурсы/звуки/352065__cabled-mess__glassy-bits-06.wav",
};
for (var имя in звуки)
{
мир.сцена.load.audio(имя, звуки[имя]);
}
мир.сцена.load.image("основа", "ресурсы/отладка/основа.jpg");
мир.сцена.load.image("линия", "ресурсы/отладка/линия_вертикальная.png");
мир.сцена.load.image("изба", "ресурсы/сцены/изба.jpg");
мир.сцена.load.image("молоко", "ресурсы/вещи/банкаолока.png");
мир.сцена.load.image("лужа", "ресурсы/вещи/лужа.png");
мир.сцена.load.image("паук", "ресурсы/животные/паук.png");
мир.сцена.load.image("мышь", "ресурсы/животные/мышь.png");
мир.сцена.load.image("мышь", "ресурсы/животные/мышь.png");
мир.сцена.load.image("самовар", "ресурсы/вещи/самовар.png");
мир.сцена.load.image("стрела", "ресурсы/вещи/стрела.png");
мир.сцена.load.image("окно-разбито", "ресурсы/вещи/окно_разбитая-часть.png");
мир.сцена.load.image("окно-выломано", "ресурсы/вещи/окно_дыра.png");
const изображения = {
"основа": "ресурсы/отладка/основа.jpg",
"линия": "ресурсы/отладка/линия_вертикальная.png",
"изба": "ресурсы/сцены/изба.jpg",
"молоко": "ресурсы/вещи/банкаолока.png",
"лужа": "ресурсы/вещи/лужа.png",
"паук": "ресурсы/животные/паук.png",
"мышь": "ресурсы/животные/мышь.png",
"мышь": "ресурсы/животные/мышь.png",
"самовар": "ресурсы/вещи/самовар.png",
"стрела": "ресурсы/вещи/стрела.png",
"окно-разбито": "ресурсы/вещи/окно_разбитая-часть.png",
"окно-выломано": "ресурсы/вещи/окно_дыра.png",
"крышка-подпола": "ресурсы/вещи/крышка-подпола.png",
};
for (var имя in изображения)
{
мир.сцена.load.image(имя, изображения[имя]);
}
};
@@ -35,6 +48,16 @@
ЗадатьСтруктуруИзбы = мир =>
{
function платформаПрыжков(узел) {
var ограничить = узел.body.checkCollision;
ограничить.down = false;
ограничить.left = false;
ограничить.right = false;
}
function платформаКаркаса(узел) {
узел.body.checkCollision.down = false;
}
мир.изба = {
фон: {
родитель: мир.сцена,
@@ -49,6 +72,7 @@
полДоКрышки: {
родитель: мир.каркас,
тип: "платформа",
после: платформаКаркаса,
x: 0,
y: 585,
texture: "основа",
@@ -60,14 +84,26 @@
полКрышки: {
родитель: мир.каркас,
тип: "платформа",
x: 300,
после: платформаКаркаса,
x: 360,
y: 585,
texture: "основа",
originX: 0,
originY: 0,
scaleX: 30,
scaleX: 16,
visible: false,
},
крышка: {
родитель: мир.сцена,
тип: "изображение",
x: 357,
y: 605,
texture: "крышка-подпола",
originX: 0,
originY: 1,
scaleX: 0.4,
scaleY: 0.4,
},
полПослеКрышки: {
родитель: мир.каркас,
тип: "платформа",
@@ -106,6 +142,7 @@
фундаментПечи: {
родитель: мир.платформы,
тип: "платформа",
после: платформаПрыжков,
x: 583,
y: 473,
texture: "основа",
@@ -117,6 +154,7 @@
полка1: {
родитель: мир.платформы,
тип: "платформа",
после: платформаПрыжков,
x: 666,
y: 335,
texture: "основа",
@@ -128,6 +166,7 @@
полкаМолока: {
родитель: мир.платформы,
тип: "платформа",
после: платформаПрыжков,
x: 771,
y: 335,
texture: "основа",
@@ -139,6 +178,7 @@
полка3: {
родитель: мир.платформы,
тип: "платформа",
после: платформаПрыжков,
x: 862,
y: 335,
texture: "основа",
@@ -150,6 +190,7 @@
полкаСамовара: {
родитель: мир.платформы,
тип: "платформа",
после: платформаПрыжков,
x: 995,
y: 355,
texture: "основа",
@@ -161,6 +202,7 @@
лежанкаПечи: {
родитель: мир.платформы,
тип: "платформа",
после: платформаПрыжков,
x: 620,
y: 245,
texture: "основа",
@@ -172,6 +214,7 @@
основаТрубыПечи: {
родитель: мир.платформы,
тип: "платформа",
после: платформаПрыжков,
x: 950,
y: 180,
texture: "основа",
@@ -184,6 +227,7 @@
стол: {
родитель: мир.платформы,
тип: "платформа",
после: платформаПрыжков,
x: 1270,
y: 427,
texture: "основа",
@@ -195,6 +239,7 @@
подоконник: {
родитель: мир.платформы,
тип: "платформа",
после: платформаПрыжков,
x: 1690,
y: 375,
texture: "основа",
@@ -256,8 +301,8 @@
x: 1003,
y: 200,
texture: "самовар",
scaleX: 0.25,
scaleY: 0.25,
scaleX: 0.2,
scaleY: 0.2,
depth: 5,
},
@@ -289,7 +334,7 @@
y: 375,
texture: "паук",
скорость: 70,
низ: 600,
низ: 550,
верх: 270,
depth: 10,
},
@@ -440,6 +485,7 @@
// // // //
/*
ПозволитьПлатформамПропускатьПрыжки = мир =>
{
мир.платформы.children.iterate(function(платформа) {
@@ -448,6 +494,7 @@
платформа.body.checkCollision.right = false;
});
};
*/
// // // //
@@ -849,6 +896,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;
}
}
};
/*
*
* Последовательность
@@ -863,7 +979,7 @@
задать структуру избы
задать функцию поиска узла по имени
создать избу
позволить платформам пропускать прыжки
# позволить платформам пропускать прыжки
настроить пауков
настроить мышей
настроить стрелы
@@ -900,10 +1016,15 @@
перевернули молоко
показать лужу молока
воспроизвести звук переворота молока
колобок прыгнул на каркас
проверить прыжок по крышке подпола
колобок прыгнул по крышке подпола
начать поворот крышки подпола
обновить сцену
анимировать пауков
анимировать мышей
анимировать переворот молока
анимировать поворот крышки подпола
`);