我只是让 socket.io 和 cocos2d-html5 工作。每次新客户端连接时,我都想在屏幕上放置一个新的 LabelTTF。随着应用程序的启动,我创建了一个主层,其中一个 Tilemaplayer 作为子层存储在 _tilemaplayer 中。
在我的主层上,我在 onEnter 中有以下代码:
var tilemap = new TilemapLayer();
this._tilemaplayer = tilemap;
this.addChild(tilemap);
socket = io.connect('hostname:port');
socket.on('connect', function(){
socket.emit('setName', {name: 'Testname'})
})
socket.on('newClient', function(data){
var testLabel = cc.LabelTTF.create(data.name, "Arial", 32);
this._tilemaplayer.addChild(testLabel);
})
为什么这会给我一个 this._tilemaplayer 未定义的错误?我可以在主层的其他功能中访问它,为什么不在这里?