确定我是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中,我知道这个方法不是编程明智的,但我有点需要学习这个,请帮助我,我非常需要这个,请提前谢谢。
答案 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;
虽然如你所说,这不是一个好的编程实践,因为这假设这两个动画片段是同一个父母的兄弟姐妹。它不可扩展。如果他们不是,你的代码可能会抛出错误。请记住这一点。