Files
K/игра/111.изба.js

252 lines
6.1 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
*
* Реакции
*
*/
ЗагрузитьРесурсыИзбы = мир =>
{
мир.сцена.load.image("основа", "ресурсы/отладка/основа.jpg");
мир.сцена.load.image("линия", "ресурсы/отладка/линия_вертикальная.png");
мир.сцена.load.image("изба", "ресурсы/сцены/изба.jpg");
мир.сцена.load.image("молоко", "ресурсы/вещи/банкаолока.png");
мир.сцена.load.image("паук", "ресурсы/насекомые/паук.png");
};
// // // //
СоздатьИзбу = мир =>
{
мир.сцена.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: 345, // НАДО 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;
});
};
// // // //
СоздатьВещи = мир =>
{
var молоко = мир.сцена.physics.add.sprite(830, 430, "молоко");
молоко.setScale(0.5, 0.5).refreshBody();
молоко.depth = 5;
мир.вещи.add(молоко);
};
// // // //
СоздатьПауков = мир =>
{
мир.настройкиПауков = [
{
x: 620,
y: 345,
скорость: 50,
},
{
x: 740,
y: 445,
скорость: 65,
},
{
x: 830,
y: 375,
скорость: 80,
},
{
x: 930,
y: 500,
скорость: 70,
},
];
мир.пауки = [];
мир.нитиПауков = [];
for (var номер in мир.настройкиПауков)
{
var настройки = мир.настройкиПауков[номер];
var паук = мир.враги.create(настройки.x, настройки.y, "паук");
паук.body.setVelocityY(настройки.скорость);
паук.depth = 10;
мир.пауки.push(паук);
var нить = мир.сцена.add.image(настройки.x - 1, 245, "линия").setOrigin(0, 0);
нить.depth = паук.depth;
мир.нитиПауков.push(нить);
}
};
// // // //
АнимироватьПауков = мир =>
{
for (var номер in мир.пауки)
{
var паук = мир.пауки[номер];
var нить = мир.нитиПауков[номер];
var скорость = мир.настройкиПауков[номер].скорость;
нить.displayHeight = паук.y - нить.y - 5;
if (паук.y > 550)
{
паук.setVelocityY(-скорость);
} else if (паук.y < 270)
{
паук.setVelocityY(скорость);
}
}
};
/*
*
* Последовательность
*
*/
мир.разобрать(`
загрузить ресурсы сцены
загрузить ресурсы избы
создать сцену
создать избу
создать полы и стены каркаса
создать платформы
позволить платформам пропускать прыжки
создать пауков
создать вещи
обновить сцену
анимировать пауков
`);