Phaser 3 为玩家创建类

我正在使用 javascript 在 Phaser 3 中工作,并注意到我将所有代码都放在一个类(scene1)中,该类已经扩展了 Phaser.Scene


我想知道如何为我的播放器创建一个类并在我的 scene1 类中使用它来创建它的一个实例,这将有助于清理我的代码,如下所示:


this.player1 = this.add.sprite(100, 100, "playerImg", 0)

this.player1 = this.add.sprite(playerObj.x, playerObj.y, playerObj.image, 0)


紫衣仙女
浏览 111回答 1
1回答

呼如林

选项1:您可以从您想要的任何物理类型创建扩展 .Sprite 类的播放器类,如下所示:不要忘记在构造函数中传递场景!!!//player.jsclass Player extends Phaser.Physics.Arcade.Sprite {    constructor(scene, x, y) {        super(scene, x, y, 'Texture', 'Frame'); // The frame is optional     }}当您在实际场景文件中调用它时,将this其作为参数传递,以将播放器添加到该实际场景中。//scene.js...player = this.physics.add.existing(new Player(this, 100, 100));看看文档https://photonstorm.github.io/phaser3-docs/Phaser.Physics.Arcade.Sprite.html选项 2:另一种方法是扩展到 GameObjects.Sprite,如下所示://Player.jsclass Player extends Phaser.GameObjects.Sprite{    constructor(scene, x, y){        super(scene, x, y, 'Texture', 'Frame'); // The frame is optional         this.scene.add.existing(this);    }}调用传递场景,x 和 y 作为参数//Scene.js...player = this.scene.add.existing(new Player(this, 100, 100));看看文档https://photonstorm.github.io/phaser3-docs/Phaser.GameObjects.Sprite.html
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript