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

Flash动画制作
Flash动画绘画实例:卡通版大眼睛小女孩
Flash实例教程:方块动画特效制作
Flash as入门(20):制作时钟的实例教程
Flash AS自定义函数提高程序执行效率
Flash AS3教程:制作鼠标感应图片转动
给你的flash减减肥
Flash教程:广告也有记忆
Adobe Flash教程:赋予人物会动的关节
初试 Flash CS4 的新功能
小软件制作漂亮的flash相册
Flash游戏制作:敌人穷追不舍的动画研究
Flash实例:制作晃动光线文字特效
Flash CS3教程:快速模糊变化文字动画
Flash动画制作技巧:动物行走动画制作揭秘
Flash实例教程:飞机阴影跟随飞机飞翔
Flash技巧:组合技巧制作吸引人的动画
Flash模糊滤镜制作动感模糊文字动画
flash动画技巧:制作2.5D动画
Flash CS3动画制作:精密角色动画设计技巧
2009年国际十大最好的Flash网站

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 27 ::
收藏到网摘: 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.除非两段影片真的毫无关系,否则慎用多场景.