Javascript Functioncall Socket.io和Phaser

时间:2015-05-05 16:29:30

标签: javascript function socket.io phaser-framework

我在使用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

2 个答案:

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

是问题的解决方案。 (你设置错误的方式)