@@ -34,7 +34,6 @@ | |||
<script src="игра/111.изба.js"></script> | |||
<script src="игра/112.подпол.js"></script> | |||
<script src="игра/200.отладка.js"></script> | |||
<script src="игра/208.группы.js"></script> | |||
<script src="игра/499.пуск.js"></script> | |||
</body> | |||
</html> |
@@ -12,6 +12,7 @@ function создатьУзлыСценыПоСтруктуре(структур | |||
delete свойства["y"]; | |||
delete свойства["texture"]; | |||
delete свойства["группы"]; | |||
delete свойства["после"]; | |||
// Создаём узел. | |||
if (описание.тип == "изображение") | |||
@@ -51,5 +52,11 @@ function создатьУзлыСценыПоСтруктуре(структур | |||
{ | |||
узел.refreshBody(); | |||
} | |||
// Выполняем дополнительные пользовательские действия. | |||
if (описание.после) | |||
{ | |||
описание.после(узел); | |||
} | |||
} | |||
} |
@@ -10,10 +10,8 @@ | |||
СоздатьГруппыСущностей = мир => | |||
{ | |||
мир.каркас = мир.сцена.physics.add.staticGroup({ immovable: true }); | |||
//мир.каркас.setFrictionX(1); | |||
мир.платформы = мир.сцена.physics.add.staticGroup({ immovable: true }); | |||
//мир.платформы.setFrictionX(1); | |||
мир.каркас = мир.сцена.physics.add.staticGroup(); | |||
мир.платформы = мир.сцена.physics.add.staticGroup(); | |||
мир.вещи = мир.сцена.add.group(); | |||
мир.вещиНедвижимые = мир.сцена.add.group(); | |||
мир.враги = мир.сцена.physics.add.group({ allowGravity: false }); | |||
@@ -92,11 +92,13 @@ | |||
мир.столкновениеВещи = мир.сцена.physics.add.collider(мир.колобок, мир.вещи); | |||
мир.столкновениеВещи.collideCallback = function(a, вещь) { | |||
if (мир.колобок.body.touching.down && вещь.body.touching.up && мир.колобок.прыжок) | |||
var касание = мир.колобок.body.touching; | |||
if (касание.down && вещь.body.touching.up && мир.колобок.прыжок) | |||
{ | |||
мир.колобок.вещь = вещь.name; | |||
мир.уведомить("колобок прыгнул на вещь"); | |||
} | |||
//if (мир.колобок.body.touching.down && (мир.колобок.body.touching.left || мир.коло | |||
}; | |||
var столкновениеВраги = мир.сцена.physics.add.collider(мир.колобок, мир.враги); | |||
@@ -7,7 +7,6 @@ | |||
ЗагрузитьРесурсыИзбы = мир => | |||
{ | |||
const звуки = { | |||
"звук-избы": "ресурсы/звуки/387922__setuniman__scheming-1o95.mp3", | |||
"звук-зарядки": "ресурсы/звуки/543927__eminyildirim__pistol-gun-cocking.wav", | |||
@@ -49,6 +48,13 @@ | |||
ЗадатьСтруктуруИзбы = мир => | |||
{ | |||
function платформаПрыжков(узел) { | |||
var ограничить = узел.body.checkCollision; | |||
ограничить.down = false; | |||
ограничить.left = false; | |||
ограничить.right = false; | |||
} | |||
мир.изба = { | |||
фон: { | |||
родитель: мир.сцена, | |||
@@ -131,6 +137,7 @@ | |||
фундаментПечи: { | |||
родитель: мир.платформы, | |||
тип: "платформа", | |||
после: платформаПрыжков, | |||
x: 583, | |||
y: 473, | |||
texture: "основа", | |||
@@ -142,6 +149,7 @@ | |||
полка1: { | |||
родитель: мир.платформы, | |||
тип: "платформа", | |||
после: платформаПрыжков, | |||
x: 666, | |||
y: 335, | |||
texture: "основа", | |||
@@ -153,6 +161,7 @@ | |||
полкаМолока: { | |||
родитель: мир.платформы, | |||
тип: "платформа", | |||
после: платформаПрыжков, | |||
x: 771, | |||
y: 335, | |||
texture: "основа", | |||
@@ -164,6 +173,7 @@ | |||
полка3: { | |||
родитель: мир.платформы, | |||
тип: "платформа", | |||
после: платформаПрыжков, | |||
x: 862, | |||
y: 335, | |||
texture: "основа", | |||
@@ -175,6 +185,7 @@ | |||
полкаСамовара: { | |||
родитель: мир.платформы, | |||
тип: "платформа", | |||
после: платформаПрыжков, | |||
x: 995, | |||
y: 355, | |||
texture: "основа", | |||
@@ -186,6 +197,7 @@ | |||
лежанкаПечи: { | |||
родитель: мир.платформы, | |||
тип: "платформа", | |||
после: платформаПрыжков, | |||
x: 620, | |||
y: 245, | |||
texture: "основа", | |||
@@ -197,6 +209,7 @@ | |||
основаТрубыПечи: { | |||
родитель: мир.платформы, | |||
тип: "платформа", | |||
после: платформаПрыжков, | |||
x: 950, | |||
y: 180, | |||
texture: "основа", | |||
@@ -209,6 +222,7 @@ | |||
стол: { | |||
родитель: мир.платформы, | |||
тип: "платформа", | |||
после: платформаПрыжков, | |||
x: 1270, | |||
y: 427, | |||
texture: "основа", | |||
@@ -220,6 +234,7 @@ | |||
подоконник: { | |||
родитель: мир.платформы, | |||
тип: "платформа", | |||
после: платформаПрыжков, | |||
x: 1690, | |||
y: 375, | |||
texture: "основа", | |||
@@ -257,8 +272,7 @@ | |||
родитель: мир.сцена.physics, | |||
тип: "спрайт", | |||
группы: [мир.вещи], | |||
//x: 785, | |||
x: 100, | |||
x: 785, | |||
y: 240, | |||
texture: "молоко", | |||
scaleX: 0.4, | |||
@@ -279,7 +293,8 @@ | |||
родитель: мир.сцена.physics, | |||
тип: "спрайт", | |||
группы: [мир.вещи], | |||
x: 1003, | |||
//x: 1003, | |||
x: 200, | |||
y: 200, | |||
texture: "самовар", | |||
scaleX: 0.25, | |||
@@ -466,6 +481,7 @@ | |||
// // // // | |||
/* | |||
ПозволитьПлатформамПропускатьПрыжки = мир => | |||
{ | |||
мир.платформы.children.iterate(function(платформа) { | |||
@@ -474,6 +490,7 @@ | |||
платформа.body.checkCollision.right = false; | |||
}); | |||
}; | |||
*/ | |||
// // // // | |||
@@ -958,7 +975,7 @@ | |||
задать структуру избы | |||
задать функцию поиска узла по имени | |||
создать избу | |||
позволить платформам пропускать прыжки | |||
# позволить платформам пропускать прыжки | |||
настроить пауков | |||
настроить мышей | |||
настроить стрелы | |||
@@ -59,17 +59,27 @@ | |||
}, | |||
лестница: { | |||
родитель: мир.сцена.physics, | |||
тип: "спрайт", | |||
группы: [мир.вещи], | |||
родитель: мир.сцена, | |||
тип: "изображение", | |||
x: 100, | |||
y: 580, | |||
y: 590, | |||
texture: "лестница", | |||
originX: 0, | |||
originY: 0, | |||
scaleX: 0.3, | |||
scaleY: 0.4, | |||
depth: 10, | |||
}, | |||
ступенька1: { | |||
родитель: мир.платформы, | |||
тип: "платформа", | |||
x: 125, | |||
y: 980, | |||
texture: "основа", | |||
originX: 0, | |||
originY: 0, | |||
scaleX: 5, | |||
visible: true, | |||
}, | |||
}; | |||
}; | |||
@@ -1,31 +0,0 @@ | |||
/* | |||
* | |||
* Реакции | |||
* | |||
*/ | |||
// // // // | |||
ЗадатьТрениеВещам = мир => | |||
{ | |||
мир.вещи.children.iterate(function(вещь) { | |||
вещь.body.setFrictionX(1); | |||
//вещь.body.setAccelerationX(0); | |||
}); | |||
}; | |||
/* | |||
* | |||
* Последовательность | |||
* | |||
*/ | |||
мир.разобрать(` | |||
создать сцену | |||
задать трение вещам | |||
`); | |||