Skip to content
Snippets Groups Projects
Commit 5b6bbcdd authored by Paolo Brasolin's avatar Paolo Brasolin
Browse files

refactor: #fe sprite animation generation

parent 48721cb3
No related branches found
No related tags found
No related merge requests found
......@@ -251,15 +251,36 @@ export default class FightScene extends Phaser.Scene {
}
createAnimations() {
this.createAnimation("player_idle", "Oetzi", 1, 5);
this.createAnimation("player_run", "Oetzi", 6, 13);
this.createAnimation("spearAni", "SpearStill", 0, 3);
this.createAnimation("spearHitAni", "SpearWobble", 0, 8);
const defaults: Phaser.Types.Animations.Animation = {
frameRate: 10,
repeat: -1,
};
this.anims.create({
key: "player_idle",
frames: this.anims.generateFrameNumbers("Oetzi", {
start: 1,
end: 5,
}),
...defaults,
});
this.anims.create({
key: "player_run",
frames: this.anims.generateFrameNumbers("Oetzi", {
start: 6,
end: 13,
}),
...defaults,
});
this.anims.create({ key: "SpearStill", frames: "SpearStill", ...defaults });
this.anims.create({
key: "SpearWobble",
frames: "SpearWobble",
...defaults,
frameRate: 48,
});
this.anims.create({ key: "BearRun", frames: "BearRun", ...defaults });
this.anims.create({ key: "BearWalk", frames: "BearWalk", ...defaults });
this.anims.create({ key: "BoarRun", frames: "BoarRun", ...defaults });
......@@ -276,18 +297,6 @@ export default class FightScene extends Phaser.Scene {
this.anims.create({ key: "WolfWalk", frames: "WolfWalk", ...defaults });
}
createAnimation(key: string, refKey: string, from: number, to: number) {
this.anims.create({
key: key,
frames: this.anims.generateFrameNumbers(refKey, {
start: from,
end: to,
}),
frameRate: 10,
repeat: -1,
});
}
updateScore(delta: number) {
this.score += delta;
this.hud.setScore(this.score);
......
......@@ -15,7 +15,7 @@ class Spear extends Phaser.Physics.Arcade.Sprite {
constructor(scene: FightScene, source: Player, target: Critter | undefined) {
super(scene, scene.player.x, scene.player.y, "spear");
this.play({ key: "spearAni", repeat: -1 });
this.play({ key: "SpearStill" });
scene.add.existing(this);
// NOTE: a spear reaching shoulder height makes sense
......@@ -71,7 +71,7 @@ class Spear extends Phaser.Physics.Arcade.Sprite {
hitGround() {
// this.scene.physics.world.remove(this.body);
this.body.setEnable(false);
this.play({ key: "spearHitAni", repeat: -1, frameRate: 48 });
this.play({ key: "SpearWobble" });
this.setRotation(this.rotation - Math.PI / 2);
this.scene.tweens.add({
targets: this,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment