AS3 TypeError:错误#1009

时间:2012-06-22 15:39:31

标签: actionscript-3 flash-cs5

我正在尝试创建一个包含多个场景的Web应用程序,当我尝试使用我创建的包含多个EventListener的按钮访问下一个场景时出现错误,用于动画目的。

Button确实将我带到了下一个场景,但错误仍然存​​在。跟踪和调试后,Mouse_Out事件似乎发生错误。

我仍然是AS3的新手,所以有人可以向我解释我的代码出错的地方,如果可能的话,为我纠正错误或者是否有更好的方法来编写代码?提前谢谢。

涉及的错误:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at fl.transitions::Tween/setPosition()
at fl.transitions::Tween/set position()
at fl.transitions::Tween()
at Portfolio_fla::MainTimeline/about_btnOut()

我的代码:

import flash.events.MouseEvent;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;

about_btn.buttonMode = true;
about_btn.mouseChildren = false;
about_btn.alpha = 0.3;
about_btn.addEventListener(MouseEvent.MOUSE_OVER, about_btnOver);
function about_btnOver(event:MouseEvent):void
{
    var AboutAlphaOver:Tween = new Tween(about_btn,"alpha",Regular.easeIn,0.3,1,0.1,true);
}
about_btn.addEventListener(MouseEvent.MOUSE_OUT, about_btnOut);
function about_btnOut(event:MouseEvent):void
{
    var AboutAlphaOut:Tween = new Tween(about_btn,"alpha",Regular.easeIn,1,0.3,0.1,true);
}
about_btn.addEventListener(MouseEvent.CLICK, about_btnClick);
function about_btnClick(event:MouseEvent):void
{
    gotoAndPlay(1,"About");
}

1 个答案:

答案 0 :(得分:0)

尝试更改补间代码:

var AboutAlphaOut:Tween = new Tween(about_btn,"alpha",Regular.easeIn,1,0.3,0.1,true);

要:

var AboutAlphaOut:Tween = new Tween(event.currentTarget,"alpha",Regular.easeIn,1,0.3,0.1,true);

我不确定它是否可行(我对Flash IDE不太熟悉),但我认为你可能会收到错误,因为其他场景没有对按钮的引用。使用event.currentTarget,您将在事件中搜索引用,因此无论如何都应该找到它。

BTW:你不应该用大写字母命名你的变量。这样,您就可以更轻松地将对象与类区分开来。