функция структуры
This commit is contained in:
@@ -27,6 +27,7 @@
|
|||||||
<div id="родитель"></div>
|
<div id="родитель"></div>
|
||||||
<script src="игра/001.мир.js"></script>
|
<script src="игра/001.мир.js"></script>
|
||||||
<script src="игра/011.phaser.js"></script>
|
<script src="игра/011.phaser.js"></script>
|
||||||
|
<script src="игра/100.структура.js"></script>
|
||||||
<script src="игра/108.группы.js"></script>
|
<script src="игра/108.группы.js"></script>
|
||||||
<script src="игра/109.управление.js"></script>
|
<script src="игра/109.управление.js"></script>
|
||||||
<script src="игра/110.колобок.js"></script>
|
<script src="игра/110.колобок.js"></script>
|
||||||
|
|||||||
45
игра/100.структура.js
Normal file
45
игра/100.структура.js
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
function создатьУзлыСценыПоСтруктуре(структура)
|
||||||
|
{
|
||||||
|
for (var имя in структура)
|
||||||
|
{
|
||||||
|
var узел = null;
|
||||||
|
var описание = структура[имя];
|
||||||
|
|
||||||
|
var свойства = {};
|
||||||
|
Object.assign(свойства, описание);
|
||||||
|
delete свойства["тип"];
|
||||||
|
delete свойства["x"];
|
||||||
|
delete свойства["y"];
|
||||||
|
delete свойства["texture"];
|
||||||
|
|
||||||
|
// Создаём узел.
|
||||||
|
if (описание.тип == "изображение")
|
||||||
|
{
|
||||||
|
узел = описание.родитель.add.image(описание.x, описание.y, описание.texture);
|
||||||
|
}
|
||||||
|
else if (описание.тип == "платформа")
|
||||||
|
{
|
||||||
|
узел = описание.родитель.create(описание.x, описание.y, описание.texture);
|
||||||
|
}
|
||||||
|
else if (описание.тип == "спрайт")
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
узел.name = имя;
|
||||||
|
|
||||||
|
// Выставляем оставшиеся невыставленными свойства.
|
||||||
|
for (var свойство in свойства)
|
||||||
|
{
|
||||||
|
var значение = свойства[свойство];
|
||||||
|
узел[свойство] = значение;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Необходимо после смены originX/Y.
|
||||||
|
узел.updateDisplayOrigin();
|
||||||
|
// Необходимо для статических физических объектов.
|
||||||
|
if ("refreshBody" in узел)
|
||||||
|
{
|
||||||
|
узел.refreshBody();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -106,65 +106,10 @@
|
|||||||
// // // //
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
СоздатьИзбуПоСтруктуре = мир =>
|
|
||||||
{
|
|
||||||
var структура = мир.изба;
|
|
||||||
var сцена = мир.сцена;
|
|
||||||
|
|
||||||
for (var имя in структура)
|
|
||||||
{
|
|
||||||
var узел = null;
|
|
||||||
var описание = структура[имя];
|
|
||||||
|
|
||||||
var свойства = {};
|
|
||||||
Object.assign(свойства, описание);
|
|
||||||
delete свойства["тип"];
|
|
||||||
delete свойства["x"];
|
|
||||||
delete свойства["y"];
|
|
||||||
delete свойства["texture"];
|
|
||||||
|
|
||||||
// Создаём узел.
|
|
||||||
if (описание.тип == "изображение")
|
|
||||||
{
|
|
||||||
узел = описание.родитель.add.image(описание.x, описание.y, описание.texture);
|
|
||||||
}
|
|
||||||
else if (описание.тип == "платформа")
|
|
||||||
{
|
|
||||||
узел = описание.родитель.create(описание.x, описание.y, описание.texture);
|
|
||||||
}
|
|
||||||
else if (описание.тип == "спрайт")
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
узел.name = имя;
|
|
||||||
|
|
||||||
// Выставляем оставшиеся невыставленными свойства.
|
|
||||||
for (var свойство in свойства)
|
|
||||||
{
|
|
||||||
var значение = свойства[свойство];
|
|
||||||
узел[свойство] = значение;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Необходимо после смены originX/Y.
|
|
||||||
узел.updateDisplayOrigin();
|
|
||||||
// Необходимо для статических физических объектов.
|
|
||||||
if ("refreshBody" in узел)
|
|
||||||
{
|
|
||||||
узел.refreshBody();
|
|
||||||
}
|
|
||||||
|
|
||||||
console.debug(имя, описание, узел);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
СоздатьИзбу = мир =>
|
СоздатьИзбу = мир =>
|
||||||
{
|
{
|
||||||
|
создатьУзлыСценыПоСтруктуре(мир.изба);
|
||||||
|
|
||||||
мир.сцена.sound.play("звук-избы", { loop: true });
|
мир.сцена.sound.play("звук-избы", { loop: true });
|
||||||
|
|
||||||
мир.разбитоеОкно = мир.сцена.add.image(1660, 183, "окно-разбито");
|
мир.разбитоеОкно = мир.сцена.add.image(1660, 183, "окно-разбито");
|
||||||
@@ -630,7 +575,6 @@ console.debug("стрела.x", мир.стрела.x);
|
|||||||
загрузить ресурсы избы
|
загрузить ресурсы избы
|
||||||
создать сцену
|
создать сцену
|
||||||
задать структуру избы
|
задать структуру избы
|
||||||
создать избу по структуре
|
|
||||||
создать избу
|
создать избу
|
||||||
создать платформы
|
создать платформы
|
||||||
позволить платформам пропускать прыжки
|
позволить платформам пропускать прыжки
|
||||||
|
|||||||
Reference in New Issue
Block a user