Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带加法器的移相器_Javascript_Html_Phaser Framework - Fatal编程技术网

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))