188 lines
4.2 KiB
JavaScript
188 lines
4.2 KiB
JavaScript
/*
|
|
*
|
|
* Реакции
|
|
*
|
|
*/
|
|
|
|
|
|
ЗагрузитьРесурсыИзбы = мир =>
|
|
{
|
|
мир.сцена.load.image("изба", "ресурсы/сцены/изба.jpg");
|
|
мир.сцена.load.image("основа", "ресурсы/отладка/основа.jpg");
|
|
};
|
|
|
|
|
|
// // // //
|
|
|
|
|
|
СоздатьИзбу = мир =>
|
|
{
|
|
мир.сцена.add.image(0, 0, "изба").setOrigin(0, 0);
|
|
};
|
|
|
|
|
|
// // // //
|
|
|
|
|
|
СоздатьПолыИСтеныКаркаса = мир =>
|
|
{
|
|
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 п = [
|
|
{
|
|
x: 583,
|
|
y: 473,
|
|
ширина: 65,
|
|
},
|
|
{
|
|
x: 666,
|
|
y: 340,
|
|
ширина: 3,
|
|
},
|
|
{
|
|
x: 771,
|
|
y: 340,
|
|
ширина: 3,
|
|
},
|
|
{
|
|
x: 862,
|
|
y: 340,
|
|
ширина: 3,
|
|
},
|
|
{
|
|
x: 995,
|
|
y: 350, // НАДО 345, чтобы не допрыгиать без помощи кота.
|
|
ширина: 4,
|
|
},
|
|
{
|
|
x: 620,
|
|
y: 245,
|
|
ширина: 35,
|
|
},
|
|
{
|
|
x: 950,
|
|
y: 180,
|
|
ширина: 12,
|
|
},
|
|
{
|
|
x: 1270,
|
|
y: 427,
|
|
ширина: 70,
|
|
},
|
|
{
|
|
x: 1690,
|
|
y: 375,
|
|
ширина: 20,
|
|
},
|
|
];
|
|
for (var номер in п)
|
|
{
|
|
var часть = п[номер];
|
|
var элемент = мир.платформы.create(часть.x, часть.y, "основа").setOrigin(0, 0);
|
|
элемент.setScale(часть.ширина, 1).refreshBody();
|
|
элемент.setVisible(false);
|
|
}
|
|
};
|
|
|
|
|
|
// // // //
|
|
|
|
|
|
ПозволитьПлатформамПропускатьПрыжки = мир =>
|
|
{
|
|
мир.платформы.children.iterate(function(платформа) {
|
|
платформа.body.checkCollision.down = false;
|
|
платформа.body.checkCollision.left = false;
|
|
платформа.body.checkCollision.right = false;
|
|
});
|
|
};
|
|
|
|
|
|
// // // //
|
|
|
|
|
|
СоздатьВрагов = мир => {
|
|
|
|
console.debug("создать врагов");
|
|
/*
|
|
var враг = мир.сцена.physics.add.sprite(150, 100, "основа");
|
|
//мир.враги.add(враг);
|
|
|
|
мир.сцена.physics.add.collider(враг, мир.каркас);
|
|
мир.сцена.physics.add.collider(враг, мир.платформы);
|
|
*/
|
|
|
|
//var враг = мир.враги.create(100, 100, "основа");//.setOrigin(0, 0);
|
|
//враг.setScale(часть.ширина, 1).refreshBody();
|
|
};
|
|
|
|
|
|
/*
|
|
*
|
|
* Последовательность
|
|
*
|
|
*/
|
|
|
|
|
|
мир.разобрать(`
|
|
загрузить ресурсы сцены
|
|
загрузить ресурсы избы
|
|
создать сцену
|
|
создать избу
|
|
создать полы и стены каркаса
|
|
создать платформы
|
|
позволить платформам пропускать прыжки
|
|
создать врагов
|
|
`);
|
|
|