Cocos2d js onTouch无法识别局部变量

时间:2015-11-21 22:32:50

标签: javascript cocos2d-x-3.0 cocos2d-js

我在onTouchBegin函数中遇到此问题,我希望在屏幕上更新精灵的位置。但是如果我在更新功能中使用这行代码就可以完美地运行。

this.sprite.x += 5;

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

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

我无法理解为什么会发生这种情况,如果有人能给我一些有关如何解决这个问题的见解,那将是值得赞赏的。

1 个答案:

答案 0 :(得分:0)

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