2015-11-21 27 views
0

我有一个onTouchBegin函数的问题,我想在其中更新一个精灵在屏幕上的位置。但是,如果我在更新函数内部使用这行代码是完美无瑕的。Cocos2d js onTouch无法识别局部变量

this.sprite.x += 5; 

现在,如果我把这个行代码onTouchBegin内部或任何onTouch方法我收到此错误"Uncaught TypeError: Cannot read property 'x' of undefined"

当我在Chrome控制台中调试时,存在当前js文件的局部变量,并显示为具有所有属性和属性的实例化变量。然后当我点击屏幕时,调试器在onTouchBegin函数内暂停。在这一点上,所有变量似乎都超出了范围,因为它们全部显示为undefinedNaN或其他。

我不明白为什么会发生这种情况,如果任何人都可以给我一些关于如何解决这个问题,将不胜感激。

回答

0

因此,显然在回调函数中,当返回回调函数时,事件参数会附加一些属性,称为getCurrentTarget。这返回了包含在更新函数中正确使用的所有变量的js文件。 onTouchBegan:function(touch, event) { var target = event.getCurrentTarget(); },