Javascript 带加法器的移相器
我试图捕获一个点击事件并改变游戏状态,但我经常遇到“未定义”错误。我使用此代码添加游戏状态:Javascript 带加法器的移相器,javascript,html,phaser-framework,Javascript,Html,Phaser Framework,我试图捕获一个点击事件并改变游戏状态,但我经常遇到“未定义”错误。我使用此代码添加游戏状态: var game = new Phaser.Game(800, 600, Phaser.AUTO, 'canvas'); game.state.add('Boot', Boot); game.state.add('Level_1', Level_1); game.state.start('Boot'); 在这里,我运行游戏介绍并尝试捕获一个点击事件 var button; var Boot = fun
var game = new Phaser.Game(800, 600, Phaser.AUTO, 'canvas');
game.state.add('Boot', Boot);
game.state.add('Level_1', Level_1);
game.state.start('Boot');
在这里,我运行游戏介绍并尝试捕获一个点击事件
var button;
var Boot = function(game) {};
Boot.prototype = {
preload: function() {
this.load.image('logo','img/logo_allcomp_white.png');
this.load.image('welcome','img/welcome.png');
this.load.image('gradient','img/gradient.png');
},
create: function() {
this.add.sprite(0,0,'gradient');
this.stage.backgroundColor = '#ffffff';
this.add.sprite(20,20,'logo');
var cutters = this.add.tileSprite(0, 0, this.game.width, this.game.height,'welcome');
cutters.autoScroll(-20,0);
button = document.getElementById('startbtn');
button.addEventListener('click',this.updateButton);
},
updateButton: function() {
this.game.state.start('Level_1');
}
};
我不能让它工作。这甚至可以与画布之外的其他DOM元素交互吗?将此按钮添加到画布对我不起作用。在更新按钮中,我必须将我的控制面板保持在外部。您将游戏称为
this.game
,而在功能范围内此指被按下的按钮,使this.game
未定义。您可以使用game.state.start('Level_1')调用您的游戏代码>
我已经为您创建了一支笔:@przemoo83您可能需要查看函数.prototype.bind
:按钮.addEventListener('click',this.updateButton.bind(this))