我在使用Phaser进行函数调用时遇到问题。我是一个Javascript Noob,不知道我做错了什么。
以下是我的代码的关键部分,所有代码都在同一个文件中。
BasicGame.Multiplayer = function (game) {
};
BasicGame.Multiplayer.prototype = {
create: function(){
this.socket = io.connect('localhost:3010');
this.socket.on('startGame', function () {
console.log('ShouldStartGame');
this.createActualGame();
});
},
createActualGame: function(){
// Define constants
}
}
我的问题是没有使用错误调用this.createActualGame函数:“TypeError:this.createActualGame不是函数”。 但控制台日志工作正常。
没有socket.on(...)代码工作正常,函数调用语句“this.createActualGame()”,但是在socket.on(...)它不起作用,我不知道为什么,也不知道如何解决这个问题。非常感谢你的帮助。
亲切的问候, SirSandmann
答案 0 :(得分:1)
尝试:
create: function(){
this.socket = io.connect('localhost:3010');
this.socket.on('startGame', function () {
console.log('ShouldStartGame');
this.createActualGame();
}.bind(this));
},
或者只是:
BasicGame.Multiplayer.createActualGame();
答案 1 :(得分:0)
document = database.documentWithID(u.id)
document.update({ (newRev) -> Bool in
newRev["a"] = "A"
return true
}, error: &error)
是问题的解决方案。 (你设置错误的方式)