2014-01-05 131 views
0

我知道有这个问题的答案,但搜索一段时间后。我找不到一个。我知道这与我的Event.ENTER_SCENE有关。TypeError:错误#1009:无法访问空对象引用的属性或方法 - Event.ENTER_FRAME

这里是我的代码:

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,是我从互联网上下载的碰撞检测工具。它只在你上面看到的代码中出现两次。没有任何其他框架。

回答

0

这个错误意味着你引用的对象是null,在那个点上没有定义,提供了行号,因为如果没有这个,我们不能真正帮助。我们不知道_collisionTest是什么,不知道它是从哪里开始的。请提供更多信息。

+0

线是这一个:如果(_collisionTest.complex(x2x2,oChar))_collisionTest,是一个collisiondetectionkit我下了互联网。它只在你上面看到的代码中出现两次。没有任何其他的框架 – user2789610

+0

嗯,真的不知道那里发生了什么,它只出现两次的事实是,很有趣,因为这是一个enterframe事件,并且没有其他东西......将if语句嵌入另一个if语句检查_collisionTest。 (不管它是否为空) – Zhafur

+0

这是什么x2x?那是一个对象还是变量?考虑到oChar是现有的,x2x可能会导致错误。 – Zhafur

0

您需要初始化变量。

var _collisionTest:CollisionTest = new CollisionTest(); 
相关问题