现在的位置: 首页 > 综合 > 正文

[原]AS3 如何在影片剪辑上 Movieclip mc 指定帧添加代码程序

2014年11月06日 ⁄ 综合 ⁄ 共 848字 ⁄ 字号 评论关闭

2010年05月21日 星期五 02:45

搬离写了5年的渣度空间,准备把技术性的文章定在CSDN了↖(^ω^)↗。这些都是文章备份。勿怪。。

AS3跟AS2不同了,不能在按钮,或时间轴(如果使用文档类)上写程序,那么如何控制特定时间轴呢?

其实很简单,使用 Mc名.currentFrame==x 即可判断当前mc的帧数
例:

另外注意如果mc的帧速和主舞台不一致的话,会强制使用主舞台的帧速

假如有一个库里的MC1,修改为actionscript导出后
在as文件中写:

package {
import flash.events.MouseEvent;
import flash.display.MovieClip
public class test extends MovieClip{

public function test() {

var mc1=new MC1

addEventListener(Event.ENTER_FRAME,control);//监听bar消失动画的播放情况

addChild(mc1);

}

private function control(e:Event) {

if(mc1.currentFrame==24){//24帧时执行

mc1.stop();

trace("mc stopped")
}

}
}

另有种比较偏门的方法是as3的隐藏方法addFrameScript,为什么是隐藏的呢?因为它的功能很不健全。

它是直接在载入的mc里写入script,但不推荐。

因为很多方法用它添加是无效的。比如stop(),而且函数中this指代的是父对象还是自身,难以明确区分。

最多用于批量的添加trace语句,方便开发阶段。

mc1.addFrameScript(23,mcMid,44,mcEnd) //这里23为24帧,mcMid为添加的函数,按这个各式可以大批量添加

addChild(mc1);

private function mcMid() {
trace(“经过24帧”)
}
private function mcEnd() {
trace(“经过45帧”)
}

抱歉!评论已关闭.