当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash脚本的执行顺序

Flash动画制作
Flash新手入门教程:动画补间和形状补间
Flash新手入门教程:图形、按钮和影片剪辑元件
Flash新手入门教程:运用遮罩制作无脚本软翻书一
Flash新手入门教程:AS3代码第一课:下雪效果
Flash新手入门教程:形状补间制作摇曳的烛光
Flash新手入门教程:AS2代码制作拖动和碰撞侦测效果
Flash教程:打造搞笑诙谐的QQ表情动画
Flash教程:打造植物生长过程动画
Flash教程:AS制作随机绽放的美丽花朵
Flash初级教程:制作水滴滴落动画效果
flash教程:绘制一款png铅笔图标
Flash教程:用AS制作文字波动效果
Flash教程:AS制作复制美丽爱心效果
Flash手绘教程:教你画卡通澳大利亚夏日海滩
Flash8教程:如何控制flvs视频播放停止
Flash技巧:如何解决动画文件增大的方法
Flash教程:你知道这些常用命令吗?
用Swf2Gif将flash动画快速变成GIF格式
Flash新手入门教程:AS2代码制作弹出菜单
Flash技巧:如何在网页中直接播放MP3音乐

Flash动画制作 中的 Flash脚本的执行顺序


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 31 ::
收藏到网摘: n/a

做了一下脚本执行顺序状况的测试,总结出以下几条规则:
1.先执行帧脚本,再执行该帧中的影片剪辑中帧脚本.
2.同一帧中不同图层的帧脚本的执行顺序是从上层图层至下层图层;
3.不同影片剪辑中的帧脚本执行顺序是根据其加载顺序来的.通常下在同一帧中不同图层内的影片剪辑脚本以自下层图层至上层图层;
4.由于非脚本创建的影片剪辑最先加载,所以先执行非脚本创建的影片剪辑中的脚本,再执行由脚本创建的影片剪辑中的脚本,脚本创建的影片剪辑遵循"先创建/加载,先执行"的原则;
5.非脚本创建的影片剪辑的加载顺序是由深度低至深度高.
6.gotoAndPlay语句如果是跳转到同一影片剪辑中的某一帧,则该语句后面的语句还会执行,如果是跳转到其它影片剪辑(比如:_parent.gotoAndPlay(n)),则其后的语句不会执行.

上面的规则有点儿像绕口令,我们来看一个例子,这个例子我就不给源文件了:
1.新建一Flash文档,插入一个新图层,这样一共有两个层.
2.在两个图层中各插入一句:trace("这是图层一/二");
3.测试.
可以看到上面的图层先输出.交换图层位置可以验证.

我们继续:
1.新建一个MC,在MC里第一帧写上:trace("这是影片剪辑"+this._name);
2.在两个图层中各拖入一个MC.
3.执行.

继续:
1.把两个MC放到同一图层中.
2.改变MC的排列顺序,分别测试.

继续:
1.插入第二帧.
2.在第二帧中写:gotoAndStop(1);trace("这是第二帧");
3.测试.

继续:
1.修改MC,在MC中加入第二帧.
2.在第二帧中写:_parent.gotoAndStop(1);trace("这是影片剪辑中的第二帧");
3.将主场景中原先的两个MC删除.
4.在主场景第二帧的代码删除,新加上:stop();
5.将MC向第二帧中拖入一个.
6.执行.

由此可以验证上面的规则.

提醒一点:
由于执行顺序是由上图层至下图层,所以如果脚本中有#include,应放到上图层中.这样其中的函数或变量才能被下图层的脚本引用.

最后建议:
为了不被Flash的执行顺序搞晕,请按照OO的思想编写作品,gotoAndPlay使用适当,变量的引用也最好有封装性,不要在不同的影片剪辑中引用同一个变量,全局变量尽量不用.Flash并没有规则一定要怎样书写脚本才算合格,但是为了工作的方便,请注意规范写法.否则考虑脚本的执行顺序就够受的了.下面几个原则不妨遵守一下:

1.勤写注释.
2.脚本写在一帧中,不同段的脚本用注释分开.
3.脚本写在帧中,事件处理器不要加到按钮/影片剪辑上.
4.不使用全局变量.
5.不直接在函数中引用某一影片剪辑,而改用参数引用.
6.不要频繁使用gotoAndPlay.
7.常用的函数写到主场景的帧上,或者写到外部文件中再include.
8.影片剪辑里帧中如果有函数,不如为该影片剪辑自定义一个类再用AS2.0类链接.把该函数作为类的一个方法.影片剪辑中的变量亦是如此.
9.除非两段影片真的毫无关系,否则慎用多场景.