Javascript 带es6级的相位器3
所以我试着用es6类做Phaser3。我的代码:Javascript 带es6级的相位器3,javascript,ecmascript-6,phaser-framework,es6-class,Javascript,Ecmascript 6,Phaser Framework,Es6 Class,所以我试着用es6类做Phaser3。我的代码: class Pcu extends Phaser.Scene { constructor() { super({key: 'Create',active: true}); this.bla = 0 } preload() {} create() { this.bla = 1 } } module.exports = Pcu 以及: 现在我的问题是(考虑
class Pcu extends Phaser.Scene {
constructor() {
super({key: 'Create',active: true});
this.bla = 0
}
preload() {}
create() {
this.bla = 1
}
}
module.exports = Pcu
以及:
现在我的问题是(考虑到我的代码),在create()
中对this.bla进行修改后,如何从Main
中访问它?(现在console.log(this.aa.bla+1)
只返回0)
顺便问一下,有没有更好的方法来执行此操作。this.aa=new Pcu()
?我的意思是,现在就像我在做两次Pcu()。对吗?在你的队伍中
this.scene.add('Pcu', new Pcu(), false);
您正在将Pcu
类的一个新实例传递到scene.add()
函数中,而没有引用。这意味着您将无法访问Pcu
实例
我认为您的目标是这样的(颠倒您的声明并使用Pcu
实例):
然后,当您调用console.log(this.aa.bla)
时,您应该会看到所需的结果:1
在您的行中
this.scene.add('Pcu', new Pcu(), false);
您正在将Pcu
类的一个新实例传递到scene.add()
函数中,而没有引用。这意味着您将无法访问Pcu
实例
我认为您的目标是这样的(颠倒您的声明并使用Pcu
实例):
然后,当您调用console.log(this.aa.bla)
时,您应该会看到所需的结果:1
当在Pcu
实例aa
上调用iscreate()
时,场景会这样做在Pcu
实例aa
上被调用?@tim klein Phaser。场景就是这样做的
this.aa = new Pcu();
this.scene.add('Pcu', this.aa, false);