绘制了Phaser按钮但单击事件未触发

时间:2017-10-15 05:56:46

标签: javascript phaser-framework

所以这里是设置。对于某些情况,我在Vue.js中运行它。

      preload () {
        this.load.image("button", button)
      },
      create () {
        this.game.stage.backgroundColor = "#ffa500";

        var button = this.game.add.button(this.game.world.centerX, this.game.world.centerY, 'button', test, this, 0);
        button.anchor.set(0.5)

        var test = function() {
          console.log('hi')
        }
      },
      update () {
      }

当我点击图像时没有任何反应。不知道从哪里开始。

1 个答案:

答案 0 :(得分:2)

JavaScript已经悬挂,因此test的声明将移至顶部,但这并不意味着分配也将如此。所以你的代码基本上运行

var button = undefined;
var test = undefined;// hoisted
button = this.game.add.button(this.game.world.centerX, 
this.game.world.centerY, 'button', undefined, this, 0);
button.anchor.set(0.5)
test = function() {
    console.log('hi')
}

如果您希望test有值,请移动上面的测试分配按钮,或使用内部函数

create() {
    function test() {}
}