[英]Phaser - having problems referencing with "this' in starter project
我是 Phaser 的新手。 我开始开发我的第一个真正的游戏,并且已经遇到了一个主要的障碍。 具体来说,无论我走到哪里,我都会收到与“this”相关的错误。
在进入具体错误之前,我只想解释一下我的设计过程。 基本上,找到一个教程或代码片段,然后抓住它并尝试在我的游戏中使用它。 通过这种方式学习,我认为我遇到了问题,因为我的编码模式与我试图复制的教程或示例中的不同。 有些人使用扩展 Phaser 类,其他人根本不使用类 - 我认为这可能是我问题的根源。
以下是我在项目中遇到的一些特定编码错误:
1. 创建一个点击处理程序在我的游戏中,我需要在点击场景时运行一个函数。
// in my create event
this.input.on('pointerdown', function (pointer) {
console.log(pointer);
})
结果:
2. 改变光标我只想改变光标。
// In my create event
this.input.setDefaultCursor('url(assets/cursors/hand.cur), pointer');
结果:
在这一点上,我意识到我的编码风格有些不对劲。
在我走得更远之前,我需要弄清楚我做错了什么。
BasicGame.Game = function (game) {
};
var ourGame;
BasicGame.Game.prototype = {
create: function () {
// Dont work
//var allScenes = this.Scene.scenes;
// Dont work
this.input.setDefaultCursor('url(assets/cursors/hand.cur), pointer');
// Dont work
//this.input.on('pointerdown', function (pointer) {
//console.log(pointer);
// })
//console.log(allScenes);
// This DOES work
this.setupText();
},
update: function () {
},
//---------------------------
// CREATE RELATED FUNCTIONS
//---------------------------
setupText: function () {
this.instructions = this.add.text(
this.game.width / 4,
this.game.height - 100,
'Use Arrow Keys to Move, Press Z to Fire\n' +
'JOHNNY/clicking does both', {
font: '20px monospace',
fill: '#fff',
align: 'center'
}
);
}
//---------------------------
// UPDATE RELATED FUNCTIONS
//---------------------------
};
我试图接受这两个评论,但不知道如何接受。 我查看了文档和 console.log(this),发现我没有正确引用 Phaser 类,正如两条评论所建议的那样。 所以我通过正确引用 Phaser 类来让它工作。 我用了 self = this; 诡计
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.