2024年6月4日发(作者:)
第13卷第1期
2 011年3月
辽宁师专学报
Journal of Liaoning Teachers College
VO1.13 N0.I
Mat.2 0 1 1
【学术研究】
使用Flash循环动画制作屏保特效的技巧与方法
刘洪涛
(锦州师专,辽宁锦州121o00)
摘 要:介绍如何在Flash中利用if…else语句及duplicateMovieClip方法制作出具有特殊效果的屏幕保护
程序.
关键词:循环;屏幕保护程序;数组
中图分类号:TP317.4 文献标识码:A 文章编号:1008—5688(2011)01—0036—02
很多人在使用台式电脑时喜欢使用屏幕保护程序,一方面可以保护显像管,另一方面可以保护个人隐
私,再有可以节约用电,因为目前Windows下的屏幕保护程序都是比较暗的,这就可以大幅降低屏幕的
亮度,以节省一些用电.Flash动画的精美玄妙之处在于不仅可以实现色彩绚丽的画面,更重要的是能够
利用ActionScript动作脚本对动画进行编程,从而使动画产生很多特殊的效果.本文利用Flash中if.一
else语句及duplicateMovieClip方法制作出可体现海洋的深度、浩瀚的海底世界以及海洋中五颜六色的气
泡等特殊效果的屏幕保护程序.
1相关理论
1.1 this的用法
this是标识符,用于引用按钮或影片剪辑实例.this的用法包含以下几个方面:
(1)在附加到按钮的on事件处理函数动作中,this引用包含该按钮的时间轴.例如在舞台上放一个
按钮元件.在帧上定义一个变量var i一0,在按钮上输入以下代码:
On(press)
(
Trace(this)//输出的结果将是一levelO,就是说这里
的this就是对根时间轴的引用
Trace(this.i)//输出的将是0
)
(2)在附加到影片剪辑的onClipEvent()事件处理函数动作中,this引用该元件自身的时间轴.例
如在上放一个影片剪辑,并且输入实例名为my—mc,在“动作”面板中输入AS脚本,输出实例,代码
如下:
onclipEvent(1oad) onclipEvent(enterFrame)
{ (
Trace(this);//输出一levelO.my—mc,说明现在的This.一x+=2;//现在MC向右运动了,为什么?因
this是影片剪辑本身
)
为this是影片剪辑本身
)
结果显示,元件“my—mc”向右移动了,这说明当this出现在影片剪辑的onClipEvent()事件处
理函数动作中时,this代表影片剪辑本身.
(3)按钮事件写在帧上.例如在舞台上放一个按钮,并且输入实例名button—btn,在帧上输入以下
代码:
Button
—
btn.onpress=function()Trace(this);
{ )
输出的结果为一level0.button—btn,而非一levelO,这跟将代码加下按钮上是截然不同的.
1.2 duplicateMovieClip和removeMovieClip函数
(1)duplicateMovieClip用于复制影片剪辑,语法结构为:duplicateMovieClip(目标,新名称,深度).
其中,“目标”参数为要进行复制的目标影片剪辑;“新名称”参数为新复制的影片剪辑的唯一标识符;
“深度”参数为新复制的影片剪辑的唯一深度级别.
收稿日期:201l一01—2O
作者简介:刘洪涛(1979一),女,辽宁义县人,讲师,主要从事现代教育技术方面研究.
刘洪涛 使用Flash循环动画制作屏保特效的技巧与方法 37
(2)removeMovieClip用来删除指定的影片剪辑,语法结构为:removeMovieClip(目标).“目标”参
数为用duplicateMovieClip()创建的影片剪辑实例的目标路径,或者是用MovieClip.
duplicateMovieClip()创建的影片剪辑的实例名称.
2操作步骤
步骤一:打开Flash应用程序,新建一个文件,将素材拖拽到舞台,输入文本“海底世界”,文件存
为“海底世界.fla”.
步骤二:将素材拖拽到舞台,插入帧.
(1)插入新图层,名称修改为“圆环”,从“库”面板中拖拽元件“圆环动画”到舞台上;
(2)选中实例“圆环动画”,设置实例名称为“ring—me”;
(3)分别选中“圆环”和“底图”图层第3帧,按下F5键插入帧.
步骤三:输入AS脚本.
(1)插入新图层,名称修改为“AS”,按下F9键打开“动作”面板,在普通模式下输入以下代码:
/*初始化变量i用于循环的初值*/ 其复制的更多*/
var i 0; var max一30;
/*设定复制环的最大数为3o个,也可以修改这个值让
(2)选中“AS”图层第2帧,按下F7键插入空白关键帧,在“动作”面板中输入AS脚本,代码
片段如下:
/*递增i的值*/this[“ring—mc”+i3.一X—Math.random()*
i—i+1;800;
/*使用dupticateMovieClip方法复制影片剪辑ring—me this[“ring—me”+i3.一x—Math.random()*
*/ 600;
duplicateMovieClip(“ring
me”
—
,
”ring
—
me”+i,900 this[“ring—me”+i].一xscale=i*5;
i);this[“ring—mc”+i].一yscale—i*5;
/*下面的~段是设置位置和编写缩放及一alpha属性的this[“ring—mc”+i].一alpha—Math.random()
变化*/ *100;
(3)选中“AS”图层第3帧,按下F7键插入空白关键帧,在“动作”面板中输入AS脚本,代码
片段如下:
/*条件设置,如果前一递增的i的值max,则返回第2 (
帧*/ gotoAndplay(2);
if(i<一max) )
步骤四:测试影片,保存文件.
3 总结
在Flash中使用循环动画制作屏保特效的关键技术是应用if…else语句,当然还应注意的是要设置实
例名称、为帧添加动作和要使用duplicateMovieClip方法复制影片剪辑.Flash ActionScript编程的目的是
更好地与用户进行交互,因此在以后的研究过程中可将庞大的数据库系统及各种程序与Flash内置的高级
ActionSript动作脚本编程语句相结合,制作出更为复杂的人机交互的网页、游戏及在线演示系统等.
(审稿人 李树东,责任编辑 于 海J
(上接5页)
时速度或曲线的切线斜率等实例,并由此引出导数的定义.这就容易使初学者形成“速度就是导数”、“斜
率就是导数”的第一印象.事实上,“速度就是导数”这个结论只有在变速直线运动情况下才能成立,而
在曲线运动情况下一般是不成立的.同样,对于切线方向也是如此,例如给出的运动方程为s=s( ),求运
动物体的运动方向,显然就不是 .总之,教师在进行导数概念教学时,对于这些基本概念之间的关系一
定要讲解清楚.至于判断函数的周期性,一般是采用定义法和间接法来进行.
参考文献:
[1]刘玉琏,傅沛仁.数学分析讲义(上)(第2版)I-M3.北京:人民教育出版社,1981.
[2]蒋众益,高福岐,蒋非非,等.高等数学习题解FM].沈阳:辽宁科学技术出版社,1982
(审稿人任冬,邵艳艳)
发布评论