Phaser中的按钮不起作用

时间:2015-04-26 22:08:53

标签: jquery button phaser-framework

我有一个代码,只是一个通过Phaser创建的按钮:

//---------------------------------Boot
module.exports = {

 init: function() {
    closeButton = game.add.button(w/1.47, h/1.272, 'close', this.closeProfile, this);
    closeButton.fixedToCamera = true;
    closeButton.inputEnabled = true;
 },

 closeProfile: function() {
    alert('asd')
    close.key = 'img/profile/closePress.png';
 }
};

Module.exports - 这是Browserify

在主文件中还有另一个代码:

 //---------------------------------Main
 window.game = new Phaser.Game((h > w) ? h : w, (h > w) ? w : h, Phaser.CANVAS, 'game', {render:render});

var ship;
var cursors;
var sun1;
var rc;
var space;

var profile;
var closeButton, holdLeft, holdRight, avaProfile;

game.state.add('Boot', require('./states/boot.js'));
game.state.add('Play', require('./states/play.js'));
game.state.start('Boot');

并且按钮根本不会调用函数。

2 个答案:

答案 0 :(得分:0)

您好我在phaser上也很新,但我会尝试在按钮上添加点击事件,如下所示。

closeButton.inputEnabled = true;
closeButton.events.onInputDown.add(onDown,this);
function onDown(sprite,pointer){
     Some function code here;
 };

说明:onDown是要调用的函数的名称,this关键字是指使用的输入方法。然后在你通过精灵的函数上(或者在这种情况下点击按钮)和使用​​的输入法(指针)。 祝你好运,希望有所帮助。

答案 1 :(得分:0)

尝试使用以下内容:

 var button;
 button = game.add.button(200, 200, 'button', functionName, game);

并将其放入创建功能。 init函数适用于调整大小等内容。