我有一个代码,只是一个通过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');
并且按钮根本不会调用函数。
答案 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函数适用于调整大小等内容。