as3 TypeError:错误#1009:无法访问空对象引用的属性或方法。 -enterframe

时间:2012-12-31 09:20:46

标签: actionscript-3 flash hittest

我正在制作一个简单的游戏,我还在学习as3 我想在舞台上点击测试对象,bila1与omidae1如果hittestobject gotoframe 所有对象都在舞台上,核心实例名为maintimeline as3 一切正常,但我得到空错误

  

TypeError:错误#1009:无法访问null的属性或方法   对象参考。在   testpeframe_fla :: MainTimeline /的叶环()[testpeframe_fla.MainTimeline ::帧1:32]

所以问题是Event.ENTER_FRAME,bling  我该如何解决这个问题?

import flash.events.MouseEvent ;
import flash.events.Event;
import fl.transitions.Tween;
import fl.transitions.easing.*;
btnt.visible = false;

butondrr.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler2);
function fl_MouseClickHandler2(event:MouseEvent):void
{   
var myTween:Tween = new Tween(bila1, "x", Strong.easeOut, 500, 700, 1, true);
var myTweenm:Tween = new Tween(bila1, "y", Strong.easeOut, 250, 600, 8, true);
} 

stage.addEventListener(Event.ENTER_FRAME, bling);
function bling(event:Event):void 
{

if(bila1.hitTestObject(omidae1)) 
{
omidae1.visible = false;
btnt.visible = true;
}
}
removeEventListener(Event.ENTER_FRAME, bling);
stop();
btnt.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame);

function fl_ClickToGoToAndStopAtFrame(event:MouseEvent):void
{
gotoAndStop(5);
}

1 个答案:

答案 0 :(得分:0)

在第1帧插入一个新帧(将所有其他帧向上移动一帧,第1帧 - >第2帧等)

可能发生的事情是你在swf完全加载之前尝试访问内容。

在第一帧中添加:

addEventListener(Event.ADDED_TO_STAGE, ready);
stop();

function ready(e:Event):void {
    removeEventListener(Event.ADDED_TO_STAGE, ready);
    gotoAndPlay(2);
}