王 娟
(阜新高等专科学校,辽宁 阜新 123000)
【学术研究】
如何利用ActionScript3.0技术制作Flash动画
王 娟
(阜新高等专科学校,辽宁 阜新 123000)
ActionScript3.0是Flash自带的脚本语言,能使制作的Flash动画更加丰富多彩.为让使用者进一步了解Flash脚本的使用方法,通过具体实例,介绍了利用ActionScript3.0技术制作具有特殊效果的Flash动画的编程技巧,使制作出的动画灵动、有趣,提高了作品的吸引力.
Flash;ActionScript3.0;动画
Flash软件是一款功能强大的矢量动画制作软件,由Adobe公司出品,具有体积小、兼容性强、图形质量高、交互性强等优点,并采用了流技术,便于网络传播,受到了广大网友的青睐,在网页设计、新媒体广告、动画制作、游戏开发以及多媒体课件制作等各领域得到了广泛的应用.Flash不仅能制作出专业的二维动画,而且强大的交互能力在教学中也得到广泛的应用,有很多教师利用Flash制作课件或小游戏,寓教于乐,得到了学生的喜爱,还有不少学生也加入到了Flash制作的行列.Flash脚本就是我们最初在制作Flash动画时在开始帧、结束帧或某个按钮上加的代码,如stop();、play();、gotoAndPlay(1,“场景2”);等等,这其实就是Flash早期的脚本,只是我们对脚本的了解不够深入,使用得相对较少.为了让脚本使我们的Flash作品质量进一步提升,本文对 ActionScript脚本语言进行研究.
ActionScript编程语言是Adobe公司专为Flash设计的交互性脚本语言,是一种面向对象的编程语言[1].ActionScript的中文翻译是“动作脚本”[2],简称AS.AS和 Java 一样,是基于 ECMAScript(编程语言的国际规范化的语言) 开发的面向对象的程序设计语言,它的类库丰富多样,功能很强大,主要用于控制播放、数据显示、交互功能、动态网页、实用性开发和虚拟实验等[3].
随着Flash软件版本的不断更新,Flash的脚本从ActionScript1.0 、ActionScript2.0更新到现在的ActionScript3.0.AS3是针对 Flash Player运行时环境的编程语言,它用于处理各种人机交互、数据交互等,与ActionScript2.0以前的版本有本质上的区别[4].原来,AS2代码可以写在帧上、按钮上或影片剪辑,但过于分散,修改麻烦,维护工作量大,执行效率低,而在AS3文档中,代码编写更加规范,只能写在帧上,对实例的控制是依靠实例名来完成的.正是由于 ActionScript 3.0 的高效和面向对象的特性,使得 ActionScript 在很多领域得到广泛应用[5].
本文以海底不断升起泡泡的动画特效为例,制作一个含ActionScript脚本和as文件的实例,效果如图1.
2.1 设置文档并制作元件
新建Flash文件,保存为“泡泡.fla”.设置文档与将要导入的背景同一尺寸,将“舞台颜色”设置为黑色,“帧频”设置为“30”.导入海底背景图像,新建名为MoveBall的影片剪辑元件,绘制45像素的圆,无边框.如图1,将Alpha值设置为80%.在“库”面板中选中MoveBall元件,单击鼠标右键,在弹出的快捷菜单中选择“属性”命令,设置高级属性如图2所示,选中“ActionScript导出”和“在第一帧导出”复选框.
2.2 新建ActionScript文件
新建“ActionScript文件”,与“泡泡.fla”文件保存在同一目录下.将如下代码输入并保存为MoveBall.as.
package
import flash.display.Sprite;
import flash.events.Event;
public class MoveBall extends Sprite
{
private var yspeed:Number;
private var W:Number;
private var H:Number;
private var space:uint = 10;
public function MoveBall(yspeed:Number,w:Number,h:Number)
{
this.yspeed = yspeed;
this.W = w;
this.H = h;
init();
}
private function init()
{
this.addEventListener(Event.ENTER_FRAME,enterFrameHandler);
}
private function enterFrameHandler(event:Event)
{
this.y -= this.yspeed/2;
if(this.y<-space)
{
this.x = Math.random()*this.W;
this.y = this.H + space;
}
}
}
}
2.3 在Flash文件“泡泡.fla”中添加代码
返回“泡泡.fla”文件主场景,新建图层2,命名为“as”,选择该图层第1帧,按F9键打开“动作”面板,输入如下代码:
var W = 560, H = 240,speed = 2;
var container:Sprite = new Sprite();
addChild(container);
var Num = 30;
for(var i:uint=0;i { speed = Math.random()*speed+2; var boll:MoveBall = new MoveBall(speed,W,H); boll.x=Math.random()*W; boll.y=Math.random()*H; boll.alpha = .1+Math.random(); boll.scaleX =boll.scaleY=Math.random(); container.addChild(boll); } 保存文件并测试影片.本实例仅仅尝试了一种特效的制作方法,还可对元件作修改,制成类似的其他不同形式的特效,或者尝试制作更多的动画效果,ActionScript脚本还有待于我们共同探索和钻研.在学习的过程中,我们可以利用提取Flash脚本的软件将Flash动画中的脚本提取出来,进行学习或探讨,如硕思闪客精灵、Action Script Viewer、Flash Decompiler Trillix等反编译软件,均可以生成清晰的ActionScript代码,但在使用时要注意保护原作者的权益,创新应用是更好的选择. 在Flash动画制作过程中,很多人一直停留在初级的动画制作阶段,没有信心和耐心学习脚本,其实动作脚本只是一个简单的程序,稍加运用就可以让你的Flash动画更加灵动、有趣,建议大家花一点时间去探索并尝试AS3脚本,让Flash带给我们更多的乐趣. [1]李雪芹,王智伟.巧用ActionScript语言制作单选题自动评分系统[J].电脑知识与技术,2016,(1):90-93. [2]史少飞.计算机动画设计——Flash[M].北京:高等教育出版社,2003. 123-124. [3]姚竞英.基于ActionScript的音乐播放器的研究[J].湖南邮电职业技术学院学报,2016,(9):33-35. [4]黎红.基于ActionScript3.0的游戏设计与实现[J].广东培正学院论丛,2016,(12):67-71. [5] 汪卫平,袁芳.基于ActionScript 3.0的Flash动画设计与制作[J].软件,2014,35(7):121-125. (审稿人 李树东 朱维佳,责任编辑 于 海) How to make the Flash animation by using Actionscript3.0 WANG Juan (Fuxin Higher Training College, Fuxin Liaoning 123000) ActionScript3.0 is a scripting language that comes with Flash, which can make Flash animations richer and more colorful. For the users to further understand the using method of Flash scripting,this paper introduces the programming skills of Flash animation with the special effects using ActionScript 3.0 by the specific examples, which makes the animation vivid and inferesting and improves the attractiveness of works. Flash; ActionScript3.0; animation 2017—01—20 王娟(1978-),女,辽宁阜新市人,讲师,主要从事计算机教学研究. TP312 A 1008-5688(2017)01-0027-023 结语