Browse Source

поправить анимации колобка

master
parent
commit
193ef56eb5
1 changed files with 49 additions and 16 deletions
  1. +49
    -16
      игра/110.колобок.js

+ 49
- 16
игра/110.колобок.js View File

@@ -37,28 +37,37 @@
мир.колобок = мир.сцена.physics.add.sprite(100, 500, "колобок"); мир.колобок = мир.сцена.physics.add.sprite(100, 500, "колобок");
мир.колобок.depth = 10; мир.колобок.depth = 10;
мир.колобок.body.setSize(50); мир.колобок.body.setSize(50);
мир.колобок.setBounceY(0.1);
// портит логику анимации.
//мир.колобок.setBounceY(0.1);


мир.сцена.anims.create({
key: "неподвижен",
// Следить за колобком камерой.
const камера = мир.сцена.cameras.main;
камера.startFollow(мир.колобок, false, 0.1, 0.1);
};


// // // //


СоздатьАнимацииКолобка = мир =>
{
var анимации = мир.сцена.anims;
анимации.create({
key: "колобок-неподвижен",
frames: [{ key: "колобок", frame: 0 }], frames: [{ key: "колобок", frame: 0 }],
frameRate: 20, frameRate: 20,
}) })
мир.сцена.anims.create({
key: "движение",
анимации.create({
key: "колобок-движение",
frames: мир.сцена.anims.generateFrameNumbers("колобок", { start: 23, end: 1 }), frames: мир.сцена.anims.generateFrameNumbers("колобок", { start: 23, end: 1 }),
frameRate: 20, frameRate: 20,
repeat: -1, repeat: -1,
}) })
мир.сцена.anims.create({
key: "прыжок",
анимации.create({
key: "колобок-прыжок",
frames: [{ key: "колобок", frame: 24 }], frames: [{ key: "колобок", frame: 24 }],
frameRate: 20, frameRate: 20,
}) })

// Следить за колобком камерой.
const камера = мир.сцена.cameras.main;
камера.startFollow(мир.колобок, false, 0.1, 0.1);
}; };




@@ -97,7 +106,6 @@
if (!мир.управление) if (!мир.управление)
{ {
мир.колобок.setVelocityX(0); мир.колобок.setVelocityX(0);
мир.колобок.anims.play("неподвижен");
return; return;
} }


@@ -105,13 +113,11 @@
if (мир.управление.направление == -1) if (мир.управление.направление == -1)
{ {
x = -200; x = -200;
мир.колобок.anims.play("движение");
мир.колобок.flipX = true; мир.колобок.flipX = true;
} }
else if (мир.управление.направление == 1) else if (мир.управление.направление == 1)
{ {
x = 200; x = 200;
мир.колобок.anims.play("движение");
мир.колобок.flipX = false; мир.колобок.flipX = false;
} }
мир.колобок.setVelocityX(x); мир.колобок.setVelocityX(x);
@@ -119,7 +125,30 @@
if (мир.управление.прыжок && мир.колобок.body.touching.down) if (мир.управление.прыжок && мир.колобок.body.touching.down)
{ {
мир.колобок.setVelocityY(-570); мир.колобок.setVelocityY(-570);
мир.колобок.anims.play("прыжок");
}
};


// // // //


АнимироватьКолобка = мир => {
var есть = "";
if (мир.колобок.anims.currentAnim)
{
есть = мир.колобок.anims.currentAnim.key;
}

var надо = "колобок-неподвижен";
if (!мир.колобок.body.touching.down) {
надо = "колобок-прыжок";
} else if (мир.колобок.body.velocity.x != 0) {
надо = "колобок-движение";
}

if (есть != надо) {
мир.колобок.anims.play(надо);
мир.уведомить("изменили анимацию колобка");
} }
}; };


@@ -166,11 +195,15 @@
создать сцену создать сцену
создать группы сущностей создать группы сущностей
создать колобка создать колобка
создать анимации колобка
определять столкновение колобка и врагов с группами сущностей определять столкновение колобка и врагов с группами сущностей
изменили управление изменили управление
переместить колобка переместить колобка
остановить врагов
столкновение с врагом столкновение с врагом
отключить столкновение с платформами отключить столкновение с платформами
обновить сцену
анимировать колобка
изменили анимацию колобка
остановить врагов
`); `);



Loading…
Cancel
Save