访问嵌套的动画片段AS3中的两(2)个动画片段之间的函数

时间:2013-08-16 12:26:36

标签: actionscript-3 function

确定我是AS3的菜鸟,因为我刚刚开始,我在movieclip中有两(2)个动画片段,主mc叫做main_mc然后两个动画片段名为trigger_mc和move_mc,trigger_mc的实例名称为start_ani,然后在main_mc的时间轴内,我有这段代码:

import flash.events.MouseEvent;

start_ani.addEventListener(MouseEvent.CLICK, correctans);

function correctans(e:MouseEvent):void {
    move_mc.animate();
}

然后我使用move_mc创建了一个动作作为actionscript 3.0然后我在move_mc本身的时间轴内插入了代码,并且我为该动作创建了一个名为animate的函数,我的问题是如何访问两个动画片段之间的函数两个都在另一个movieclip中,我知道这个方法不是编程明智的,但我有点需要学习这个,请帮助我,我非常需要这个,请提前谢谢。

1 个答案:

答案 0 :(得分:0)

父是一个属性,而不是一个函数 - 你不需要():

this.parent.move_mc.animate();

另外,你没有提到move_mc movieclip的实例名称,但是如上所述的访问要求实例名称为move_mc - 动作片段中的动画片段符号名称无关紧要。

更新1:为了澄清,您说: trigger_mc的实例名称为start_ani

好,那么这段代码就可以了:

start_ani.addEventListener(MouseEvent.CLICK, correctans);

但你没有说: move_mc的实例名称为???

所以我们不知道这段代码是否有效:

function correctans(e:MouseEvent):void {
    ???.animate();
}

填写那些???一个。

更新2:您知道是否正在触发点击处理程序吗?为什么不添加跟踪声明?

function correctans(e:MouseEvent):void {
    trace("got click event!");
    ???.animate();
}

因为对于CLICK事件,您需要:

start_ani.buttonMode = true;

虽然如你所说,这不是一个好的编程实践,因为这假设这两个动画片段是同一个父母的兄弟姐妹。它不可扩展。如果他们不是,你的代码可能会抛出错误。请记住这一点。

相关问题