126 lines
3.3 KiB
JavaScript
126 lines
3.3 KiB
JavaScript
/*
|
||
*
|
||
* Реакции
|
||
*
|
||
*/
|
||
|
||
|
||
ЗагрузитьРесурсыКолобка= мир =>
|
||
{
|
||
//мир.сцена.load.image("колобок", "ресурсы/колобок/колобок_неподвижен.png");
|
||
мир.сцена.load.spritesheet(
|
||
"колобок",
|
||
"ресурсы/колобок/колобок.png",
|
||
{
|
||
frameWidth: 97,
|
||
frameHeight: 94,
|
||
}
|
||
);
|
||
};
|
||
|
||
|
||
// // // //
|
||
|
||
|
||
СоздатьКаркасИПлатформы = мир =>
|
||
{
|
||
мир.каркас = мир.сцена.physics.add.staticGroup();
|
||
мир.платформы = мир.сцена.physics.add.staticGroup();
|
||
};
|
||
|
||
|
||
// // // //
|
||
|
||
|
||
СоздатьКолобка = мир =>
|
||
{
|
||
мир.колобок = мир.сцена.physics.add.sprite(100, 100, "колобок");
|
||
мир.колобок.depth = 10;
|
||
|
||
мир.сцена.anims.create({
|
||
key: "неподвижен",
|
||
frames: [{ key: "колобок", frame: 0 }],
|
||
frameRate: 20,
|
||
})
|
||
мир.сцена.anims.create({
|
||
key: "движение",
|
||
frames: мир.сцена.anims.generateFrameNumbers("колобок", { start: 23, end: 1 }),
|
||
frameRate: 20,
|
||
repeat: -1,
|
||
})
|
||
мир.сцена.anims.create({
|
||
key: "прыжок",
|
||
frames: [{ key: "колобок", frame: 24 }],
|
||
frameRate: 20,
|
||
})
|
||
|
||
// Следить за колобком камерой.
|
||
const камера = мир.сцена.cameras.main;
|
||
камера.startFollow(мир.колобок, false, 0.1, 0.1);
|
||
};
|
||
|
||
|
||
// // // //
|
||
|
||
|
||
СоздатьСтолкновениеКолобкаСКаркасомИПлатформами = мир =>
|
||
{
|
||
мир.сцена.physics.add.collider(мир.колобок, мир.каркас);
|
||
мир.столкновениеПлатформы = мир.сцена.physics.add.collider(мир.колобок, мир.платформы);
|
||
};
|
||
|
||
|
||
// // // //
|
||
|
||
|
||
ПереместитьКолобка = мир =>
|
||
{
|
||
if (!мир.управление)
|
||
{
|
||
мир.колобок.setVelocityX(0);
|
||
мир.колобок.anims.play("неподвижен");
|
||
return;
|
||
}
|
||
|
||
var x = 0;
|
||
if (мир.управление.направление == -1)
|
||
{
|
||
x = -200;
|
||
мир.колобок.anims.play("движение");
|
||
мир.колобок.flipX = true;
|
||
}
|
||
else if (мир.управление.направление == 1)
|
||
{
|
||
x = 200;
|
||
мир.колобок.anims.play("движение");
|
||
мир.колобок.flipX = false;
|
||
}
|
||
мир.колобок.setVelocityX(x);
|
||
|
||
if (мир.управление.прыжок && мир.колобок.body.touching.down)
|
||
{
|
||
мир.колобок.setVelocityY(-570);
|
||
мир.колобок.anims.play("прыжок");
|
||
}
|
||
};
|
||
|
||
|
||
/*
|
||
*
|
||
* Последовательность
|
||
*
|
||
*/
|
||
|
||
|
||
мир.разобрать(`
|
||
загрузить ресурсы сцены
|
||
загрузить ресурсы колобка
|
||
создать сцену
|
||
создать каркас и платформы
|
||
создать колобка
|
||
создать столкновение колобка с каркасом и платформами
|
||
изменили управление
|
||
переместить колобка
|
||
`);
|
||
|