TypeError:错误 #1009:无法访问空对象引用的属性或方法 - Event.ENTER_FRAME
Posted
技术标签:
【中文标题】TypeError:错误 #1009:无法访问空对象引用的属性或方法 - Event.ENTER_FRAME【英文标题】:TypeError: Error #1009: Cannot access a property or method of a null object reference - Event.ENTER_FRAME 【发布时间】:2014-01-23 06:16:56 【问题描述】:我知道这个问题有 吨 的答案,但经过一段时间的搜索。我找不到一个。我知道这与我的Event.ENTER_SCENE
有关。
这是我的代码:
stage.addEventListener(TouchEvent.TOUCH_BEGIN, touchBegin);
stage.addEventListener(TouchEvent.TOUCH_MOVE, touchMove);
stage.addEventListener(TouchEvent.TOUCH_END, touchEnd);
function touchBegin(e:TouchEvent)
if(oCharUse == true)
if(Math.abs(e.stageX - oChar.x) < 100 && Math.abs(e.stageY - oChar.y) < 100)
oMove = true;
function touchMove(e:TouchEvent)
if(oCharUse == true)
if(oMove == true)
oChar.x = e.stageX;
oChar.y = e.stageY - 100;
function touchEnd(e:TouchEvent)
if(oCharUse == true)
oMove = false;
stage.addEventListener(Event.ENTER_FRAME, loop)
function loop (e:Event)
if(_collisionTest.complex(x2x, oChar))
trace("collision")
有人告诉我添加更多信息:错误指的是这一行:if(_collisionTest.complex(x2x2, oChar))
。 _collisionTest,是我从互联网上下来的一个碰撞检测工具包。而且它在上面看到的代码中只出现了两次。不在任何其他框架上。
【问题讨论】:
【参考方案1】:这个错误意味着你引用的对象是空的,当时没有定义,提供行号,因为没有它,我们真的无能为力。我们不知道 _collisionTest 是什么,也不知道它是从哪里发起的。请提供更多信息。
【讨论】:
行是这个:if(_collisionTest.complex(x2x2, oChar)) _collisionTest,是我从互联网上下载的一个碰撞检测工具包。而且它在上面看到的代码中只出现了两次。不在任何其他框架上 好吧,真的不知道那里发生了什么,事实上它只出现了两次,好吧...有趣,因为这是一个 enterframe 事件,其中没有其他内容...嵌套 if语句转换成另一个检查 _collisionTest 的 if 语句。 (无论是否为空) x2x 是什么?那是一个对象还是一个变量?考虑到 oChar 是现有的,x2x 可能会导致错误。 您能推荐任何其他更简单的碰撞检测吗? (精确工作的。不包括 hitTestObject 或 hitTestPoint)。 “将 if 语句嵌套到另一个检查 _collisionTest 的 if 语句中是什么意思。(无论它是否为空)” x2x2 只是另一个实例。类似于 oChar【参考方案2】:你需要初始化变量。
var _collisionTest:CollisionTest = new CollisionTest();
【讨论】:
以上是关于TypeError:错误 #1009:无法访问空对象引用的属性或方法 - Event.ENTER_FRAME的主要内容,如果未能解决你的问题,请参考以下文章
TypeError:错误 #1009:无法访问空对象引用的属性或方法。尝试创建按钮时。
TypeError:错误 #1009:无法访问空对象引用的属性或方法 - Event.ENTER_FRAME
TypeError:错误#1009:无法访问null对象引用as3的属性或方法
SyntaxError:错误 #1009:无法访问空对象引用的属性或方法