使用数组和按钮as3传递函数?

时间:2013-04-29 23:47:15

标签: arrays actionscript-3 function button

我一直在寻找我的动作3问题的答案......我是社区和动作的新手,所以请耐心等待。

我正在使用数组来存储我的数据,并且有六个影片剪辑,我已经将它们包装在不同的函数中。每个函数都将为每个影片剪辑使用补间动画属性。

我有两个按钮(nextBtn& prevBtn),我想使用nextBtn和数组调用每个函数。

这是我的代码:

stop();
var animArr:Array = [anim1, anim2, anim3, anim4, anim5];

var blindsObj:Object =
{
    type:Blinds,
    direction:Transition.IN,
    duration:2,
    easing:Strong.easeOut,
    numStrips:10,
    dimension:1
};

//  REGISTER your buttonListeners */
nextBtn.label = "Play";

//  ****  ANIMATION FUNCTIONS */
function anim1()
{
    var myTween:Tween = new Tween(panel_2, 
                                  "x", 
                                  Elastic.easeIn, 
                                  650, -22, 2, true);
}

function anim2()
{
    TransitionManager.start(panel_3, 
                            {
                                type:Fade, direction:Transition.IN,
                                duration:9, easing:Strong.easeOut
                            }); 
}

function anim3()
{
    TransitionManager.start(panel_4, 
                            {
                                type:Fly, direction:Transition.IN,
                                duration:3, easing:Elastic.easeOut,
                                startPoint:9
                            });
}

function anim4()
{
    nextBtn.enabled = false;
    panel_5.alpha = 1.0;// 100% (reset alpha)
    var transition:Transition = TransitionManager.start(panel_5,blindsObj);
    transition.addEventListener("transitionInDone", transition_transitionInDone);
}

function anim5()
{
    var myTweener:Tween = new Tween(panel_6.txtBox, 
                                    "x", 
                                    Elastic.easeIn, 
                                    -1850, 225, 2, true);
}
////////////////////////////////////////////// END ANIMATION FUNCTIONS */

//  ****  transition the blindsObj tween */
function transition_transitionInDone(e:Event):void
{
    nextBtn.enabled = true;
    panel_5.alpha = 0.5;// 50%
}

for ( var i=0; i < animArr.length; i++ )
{
    nextBtn.addEventListener( MouseEvent.CLICK, nextHandler );
    //prevBtn.addEventListener( MouseEvent.CLICK, prevHandler );
}

//  ****  FUNCTION TO MOVE THE MOVIECLIP FORWARD */
function nextHandler(e:MouseEvent):void
{
    trace( "you clicked " + e.target.name );
    panel_2.MovieClip = animArr[1]; 
}

我收到1006错误,我想知道如何使用nextBtn调用我的数据?我不太明白我在哪里创建了这个错误?

TypeError: Error #1009: Cannot access a property or method of a null object reference. at page1_fla::mc_panel_1/nextHandler(); 

所以我的问题或问题是我希望能够使用click事件调用存储在数组中的数据来访问函数。

0 个答案:

没有答案