|
|
@@ -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 @@ |
|
|
|
перевернули молоко |
|
|
|
показать лужу молока |
|
|
|
воспроизвести звук переворота молока |
|
|
|
колобок прыгнул на каркас |
|
|
|
проверить прыжок по крышке подпола |
|
|
|
колобок прыгнул по крышке подпола |
|
|
|
начать поворот крышки подпола |
|
|
|
|
|
|
|
обновить сцену |
|
|
|
анимировать пауков |
|
|
|
анимировать мышей |
|
|
|
анимировать переворот молока |
|
|
|
анимировать поворот крышки подпола |
|
|
|
`); |
|
|
|
|