父电影剪辑

时间:2016-05-16 08:08:26

标签: actionscript-3

我正在编写一个程序,我可以根据用户点击的按钮显示2个布局。

这些布局实际上是他们自己的电影剪辑:layA,layB。

layA是一个5按钮菜单,而layB是一个4按钮菜单。

按钮是同一个对象“wBut”的所有不同实例。

我已将AS Linkages添加到每个布局,因此layA = LayA,layB = LayB。

var layO;
if( layout == 1 ){

//Layout A (5 Steps)

layO = new LayA();
addChild(layO);
layO.x = 404.40;
layO.y = 300.00;
}

else if (layout == 2){

//Layout B (4 Steps)
layO = new LayB();
addChild(layO);
layO.x = 395.6;
layO.y = 303;
}

当用户点击前一帧中的按钮时,这基本上写在一帧上。

现在在layA我有5个按钮,实例为s1A到s5A,layB按钮为s1B到s5B。 来自wBut的所有实例。

我想要做的是为每个布局的每个按钮添加一个MOUSE_OVER侦听器,以便在舞台上加载另一个MC。

例如:此功能在ROOT阶段:

function onMouseOverS1(e:MouseEvent):void
{
    if (type == 1){
        addChild(mcS2);
        mcS2.x= 403.2;
        mcS2.y= 280.1;
    }
}

这是ROOT舞台上的听众:

var layO;
    if( layout == 1 ){

    //Layout A (5 Steps)

    layO = new LayA();
    addChild(layO);
    layO.x = 404.40;
    layO.y = 300.00;
//here
    layO.s1A.addEventListener(MouseEvent.MOUSE_OVER, onMouseOverS1);
    }

mcS2是第二个MC的变种。

当我尝试这样做时,它会给出以下错误...

TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at Improved_ani_fla::MainTimeline/frame58()

第58帧()是带有布局代码的框架,在找到调试方法之后,我发现错误正好在之前引用的事件监听器的行上。

如果不清楚我真的很抱歉,但这是我第一次写一个问题,甚至尝试用AS3编码。

谢谢。

0 个答案:

没有答案