каркас по структуре
This commit is contained in:
133
игра/111.изба.js
133
игра/111.изба.js
@@ -34,14 +34,72 @@
|
||||
{
|
||||
мир.изба = {
|
||||
фон: {
|
||||
тип: "image",
|
||||
родитель: мир.сцена,
|
||||
тип: "изображение",
|
||||
x: 0,
|
||||
y: 0,
|
||||
texture: "изба",
|
||||
originX: 0,
|
||||
originY: 0,
|
||||
},
|
||||
}
|
||||
|
||||
полДоКрышки: {
|
||||
родитель: мир.каркас,
|
||||
тип: "платформа",
|
||||
x: 0,
|
||||
y: 585,
|
||||
texture: "основа",
|
||||
originX: 0,
|
||||
originY: 0,
|
||||
scaleX: 43,
|
||||
visible: false,
|
||||
},
|
||||
полКрышки: {
|
||||
родитель: мир.каркас,
|
||||
тип: "платформа",
|
||||
x: 300,
|
||||
y: 585,
|
||||
texture: "основа",
|
||||
originX: 0,
|
||||
originY: 0,
|
||||
scaleX: 30,
|
||||
visible: false,
|
||||
},
|
||||
полПослеКрышки: {
|
||||
родитель: мир.каркас,
|
||||
тип: "платформа",
|
||||
x: 510,
|
||||
y: 585,
|
||||
texture: "основа",
|
||||
originX: 0,
|
||||
originY: 0,
|
||||
scaleX: 200,
|
||||
visible: false,
|
||||
},
|
||||
|
||||
леваяСтена: {
|
||||
родитель: мир.каркас,
|
||||
тип: "платформа",
|
||||
x: 0,
|
||||
y: 200,
|
||||
texture: "основа",
|
||||
originX: 0,
|
||||
originY: 0,
|
||||
scaleY: 50,
|
||||
visible: false,
|
||||
},
|
||||
праваяСтена: {
|
||||
родитель: мир.каркас,
|
||||
тип: "платформа",
|
||||
x: 2000,
|
||||
y: 200,
|
||||
texture: "основа",
|
||||
originX: 0,
|
||||
originY: 0,
|
||||
scaleY: 50,
|
||||
visible: false,
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -65,13 +123,16 @@
|
||||
delete свойства["y"];
|
||||
delete свойства["texture"];
|
||||
|
||||
// Создаём изображение.
|
||||
if (описание.тип == "image")
|
||||
// Создаём узел.
|
||||
if (описание.тип == "изображение")
|
||||
{
|
||||
узел = сцена.add.image(описание.x, описание.y, описание.texture);
|
||||
узел = описание.родитель.add.image(описание.x, описание.y, описание.texture);
|
||||
}
|
||||
// Создаём спрайт.
|
||||
else if (описание.тип == "sprite")
|
||||
else if (описание.тип == "платформа")
|
||||
{
|
||||
узел = описание.родитель.create(описание.x, описание.y, описание.texture);
|
||||
}
|
||||
else if (описание.тип == "спрайт")
|
||||
{
|
||||
}
|
||||
|
||||
@@ -86,6 +147,11 @@
|
||||
|
||||
// Необходимо после смены originX/Y.
|
||||
узел.updateDisplayOrigin();
|
||||
// Необходимо для статических физических объектов.
|
||||
if ("refreshBody" in узел)
|
||||
{
|
||||
узел.refreshBody();
|
||||
}
|
||||
|
||||
console.debug(имя, описание, узел);
|
||||
}
|
||||
@@ -114,58 +180,6 @@
|
||||
// // // //
|
||||
|
||||
|
||||
СоздатьПолыИСтеныКаркаса = мир =>
|
||||
{
|
||||
var полы = [
|
||||
{
|
||||
x: 0,
|
||||
y: 585,
|
||||
ширина: 43,
|
||||
},
|
||||
{
|
||||
x: 300,
|
||||
y: 585,
|
||||
ширина: 30,
|
||||
},
|
||||
{
|
||||
x: 510,
|
||||
y: 585,
|
||||
ширина: 200,
|
||||
},
|
||||
];
|
||||
for (var номер in полы)
|
||||
{
|
||||
var пол = полы[номер];
|
||||
var элемент = мир.каркас.create(пол.x, пол.y, "основа").setOrigin(0, 0);
|
||||
элемент.setScale(пол.ширина, 1).refreshBody();
|
||||
элемент.setVisible(false);
|
||||
}
|
||||
|
||||
var стены = [
|
||||
{
|
||||
x: 0,
|
||||
y: 385,
|
||||
высота: 50,
|
||||
},
|
||||
{
|
||||
x: 2000,
|
||||
y: 385,
|
||||
высота: 50,
|
||||
},
|
||||
];
|
||||
for (var номер in стены)
|
||||
{
|
||||
var стена = стены[номер];
|
||||
var элемент = мир.каркас.create(стена.x, стена.y, "основа");
|
||||
элемент.setScale(1, стена.высота).refreshBody();
|
||||
элемент.setVisible(false);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// // // //
|
||||
|
||||
|
||||
СоздатьПлатформы = мир =>
|
||||
{
|
||||
var п = [
|
||||
@@ -618,7 +632,6 @@ console.debug("стрела.x", мир.стрела.x);
|
||||
задать структуру избы
|
||||
создать избу по структуре
|
||||
создать избу
|
||||
создать полы и стены каркаса
|
||||
создать платформы
|
||||
позволить платформам пропускать прыжки
|
||||
создать вещи
|
||||
|
||||
Reference in New Issue
Block a user