AgentVerse's picture
first commit
670a607
import { Physics } from "phaser";
export class Actor extends Physics.Arcade.Sprite {
constructor(
scene: Phaser.Scene,
x: number,
y: number,
texture: string,
frame?: string | number
) {
super(scene, x, y, texture, frame);
scene.add.existing(this);
scene.physics.add.existing(this);
this.getBody().setCollideWorldBounds(true);
}
protected getBody(): Physics.Arcade.Body {
return this.body as Physics.Arcade.Body;
}
initAnimations(): void {
this.scene.anims.create({
key: this.name + "-walk-down",
frames: this.scene.anims.generateFrameNumbers(this.name, {
start: 0,
end: 2,
}),
frameRate: 6,
});
this.scene.anims.create({
key: this.name + "-walk-up",
frames: this.scene.anims.generateFrameNumbers(this.name, {
start: 3,
end: 5,
}),
frameRate: 6,
});
this.scene.anims.create({
key: this.name + "-walk-left",
frames: this.scene.anims.generateFrameNumbers(this.name, {
start: 6,
end: 8,
}),
frameRate: 6,
});
this.scene.anims.create({
key: this.name + "-walk-right",
frames: this.scene.anims.generateFrameNumbers(this.name, {
start: 9,
end: 11,
}),
frameRate: 6,
});
}
}