我们新建test.fla,在时间轴上放三帧,第一帧和第三帧分别新建影片剪辑mc1和mc2.
然后在test.fla目录下新建文件夹as3.在里面新建testGoto.as,
然后在里面写如下代码用于测试。
/*
用于测试从文档类(和舞台直接绑定的类)控值舞台影片剪辑的方法。
*/
package as3{
import flash.events.MouseEvent;
import flash.display.MovieClip;
public class testGoto extends MovieClip{
public function testGoto()
{
trace("this is the consturctor way");
this.addFrameScript(0, func1, 2, func3);//在第1帧添加方法func1,在第3帧添加方法func3,
//注意这样添加的方法会覆盖时间轴帧里原来的代码。
}
public function func1():void
{
stop();
mc1.addEventListener(MouseEvent.CLICK, goto3);
}
public function goto3(e:MouseEvent):void
{
this.gotoAndStop(3);
}
public function func3():void
{
mc2.addEventListener(MouseEvent.CLICK, goto1);
}
public function goto1(e:MouseEvent):void
{
this.gotoAndStop(1);
}
}
}
然后点击舞台,在属性面板里的类中填as3.testGoto,点击右边的铅笔按钮可以编辑类。
注意这里的addFrameScript方法,其索引值从0开始;
参数传入的帧数超过时间轴的帧数,将不会执行;
如果原有帧上已有代码,会覆盖掉原有代码;
要删除指定帧数上代码,使用addFrameScript(帧数索引值, null)即可。