使用离子2应用程序中的Phaser和typescript更新范围变量值

时间:2017-04-15 14:58:16

标签: typescript ionic-framework angularjs-scope ionic2 phaser-framework

我正在尝试使用Ionic 2(使用TypeScript)和Phaser.io创建游戏应用程序。到目前为止一切都很好,我的游戏也有效......但

我可以在TypeScript函数中启动Phaser动作,但我不能这样做。

例如,我在我的html中通过我的TypeScript控制器中的{{ score }}定义了分数我使用this.score = 0;初始化该分数然后我可以更新TypeScript函数内的分数。但是在任何移相器函数(预加载,创建,更新,渲染)中,它都不再起作用。下图中的一个示例(这是我的代码的类似简单版本)。

image example

感谢。

1 个答案:

答案 0 :(得分:0)

我对Ionic& amp; Phaser组合。据我所知,当我们做的时候

this.game = new Phaser.Game(width, height, renderer, parent, state, transparent, antialias, physicsConfig)

状态会为Phaser创建一个新范围,因此您不会拥有相同的'这个'在Ionic的“离子观察”()在Phaser' create()'。

我所做的(并且我不知道它是否是最好的解决方案),是添加

this.game = new Phaser.Game(width, height, renderer, parent, state)
this.game.ionic = this; // reference ionic Object to Phaser Object

现在我可以从Phaser内部调用离子

create() {
  this.game.ionic.alert.present();
}