Kaynağa Gözat

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

master
ebeveyn
işleme
193ef56eb5
1 değiştirilmiş dosya ile 49 ekleme ve 16 silme
  1. +49
    -16
      игра/110.колобок.js

+ 49
- 16
игра/110.колобок.js Dosyayı Görüntüle

@@ -37,28 +37,37 @@
мир.колобок = мир.сцена.physics.add.sprite(100, 500, "колобок");
мир.колобок.depth = 10;
мир.колобок.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 }],
frameRate: 20,
})
мир.сцена.anims.create({
key: "движение",
анимации.create({
key: "колобок-движение",
frames: мир.сцена.anims.generateFrameNumbers("колобок", { start: 23, end: 1 }),
frameRate: 20,
repeat: -1,
})
мир.сцена.anims.create({
key: "прыжок",
анимации.create({
key: "колобок-прыжок",
frames: [{ key: "колобок", frame: 24 }],
frameRate: 20,
})

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


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

@@ -105,13 +113,11 @@
if (мир.управление.направление == -1)
{
x = -200;
мир.колобок.anims.play("движение");
мир.колобок.flipX = true;
}
else if (мир.управление.направление == 1)
{
x = 200;
мир.колобок.anims.play("движение");
мир.колобок.flipX = false;
}
мир.колобок.setVelocityX(x);
@@ -119,7 +125,30 @@
if (мир.управление.прыжок && мир.колобок.body.touching.down)
{
мир.колобок.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 @@
создать сцену
создать группы сущностей
создать колобка
создать анимации колобка
определять столкновение колобка и врагов с группами сущностей
изменили управление
переместить колобка
остановить врагов
столкновение с врагом
отключить столкновение с платформами
обновить сцену
анимировать колобка
изменили анимацию колобка
остановить врагов
`);


Yükleniyor…
İptal
Kaydet