关于Flash动作脚本--ActionScript ActionScript即动作脚本,简称AS。在Flash动画中,使用AS 可以使动画实现交互或完成某些特效。
一、AS要写在什么地方,什么时候AS被触发执行?
1、关键帧:
写在关键帧上面的AS,当时间轴上的指针走到这个关键帧的时候,写在这个帧上面的AS就被触发执行了。
例如要让影片播放完成后停在最后一关键帧,操作方法就是点选最后一帧关键帧,然后打开动作面板,在面板中输入stop()。
2、按钮:
不同于关键帧上面的AS,按钮上面的AS要有触发条件。要把AS 写在按钮上,操作方法是点选目标按钮,然后打开动作面板。
例如:假设有个按钮,效果是按下按钮后停止播放,那么步骤如下:做一个按钮,放到主场景,点选按钮,然后打开AS面板。现在如果也在按钮上写:
on(release){
stop();
}  //这里要比帧的动画多这些代码: on(release){}
其中release是鼠标的触发事件事件之一,作用是松开按钮,按钮的常用事件:
mousemove是什么键
写在按钮上面的AS的格式:on(事件){要执行的代码} ,即按钮上的3、MC(影片剪辑)
写在影片剪辑上的AS和写在按钮上的大同小异。操作方法就是点选影片剪辑,然后打开动作面板。看个例子:
onClipEvent(load){
stop();
}
这里load代表一个事件。影片剪辑的事件有下面这些:
写在MC上的代码格式: onClipEvent(事件){代码}
二、AS中的对象和方法
虽然AS不是真正的面向对象的编程,但它的概念贯穿整个AS的始终。
1、AS中的对象
新建一个Flas件,先创建一个命令按钮,然后创建一个影片剪辑,将命令按钮拖到影片剪辑中,命名为“myBtn”。将影片剪辑拖到主场景中,命名为“myMC”。现在如何表示主场景、影片剪辑、和按钮呢?方法如下:
_root――主场景(主时间轴)
_MC ――主场景中的剪辑myMC
_Btn ――主场景的剪辑myMC中的按钮myBtn 这里的_root是Flash的关键字,表示主场景的 Timeline (时间轴)。
2、AS中的方法
当你到这个对象后,才能对对象进行操作,才能给对象施加方法。比如要主场景停止播放,就是使用
_root.stop();
主场景中的影片剪辑停止播放,就是
_MC.stop();
3、点语法和路径
点语法:在面向对象编程中,常使用“.”点运算符,点的前后分别代表对象的父、子(上、下级)关系,如前面的_Btn、_MC等。
路径分两种:绝对路径和相对路径。
上节中的_MC.stop();使主场景中影片剪辑停止播放的例子,还可以这样书写:进入影片剪辑myMC的编辑状态,在时间轴的第一帧写上this.stop();
这里的this也是Flash的关键字, this 指AS所在的这条时间轴。this 就是相对路径的关键字之一。
另外的一个关键字就是 _parent 。如果你理解了 this ,那么_parent 并不难理解。_parent 也就是父级。myMC的 _parent 就是_root , myBtn的 _parent 也就是myMC。点的后面的对象的
_parent 就是点前面的对象。
三、部分FLASH函数(方法)
1、时间轴控制
- gotoAndPlay转到指定的帧播放
- gotoAndStop转到指定的帧并停止播放
- nextFrame转到下一帧
- nextScene转到下一场景
- Play 播放
- prevFrame转到上一帧
- prevScene转到上一场景
- Stop 停止
- Stop All Sounds 停止所有声音的播放
2、浏览器/网络
- FSCommand 发送FSCommand命令
- GetURL 跳转至某个超链接
- LoadMovie 装载影片
- loadVariables 从URL中加载变量
- UnloadMovie 卸载影片
3、影片剪辑控制
- duplicateMovieClip 复制影片剪辑
- getProperty 返回指定影片剪辑的属性
-
on按钮的事件触发
- onClipEvent 影片剪辑的事件触发
- removeMovieClip删除用duplicateMovieClip创建的影片剪辑- startDrag 在影片剪辑上开始拖放动作
- stopDrag停止正在进行的拖放动作
- targetPath返回指定影片剪辑的目标路径字符串
- updateAfterEvent 在事件后更新舞台
注:有关AS更多的知识请参考Flash帮助系统或相应的参考书。