罗 艳
成都东软学院数字艺术系,四川成都 611844
基于Flash ActionScript 3.0的飞行射击游戏制作
罗 艳
成都东软学院数字艺术系,四川成都 611844
随着Flash软件的发展和强大的ActionScript 3.0面向对象语言的推出,使用Flash制作游戏变得可行,本文以一款飞行射击类游戏制作为目标,采用Flash工具进行场景与游戏角色的制作,基于ActionScript 3.0语言进行程序设计,并对开发中所遇到的问题进行分析并予以解决。
Flash;游戏;ActionScript 3.0
飞行射击游戏是最早发展的游戏类型之一,最著名的该种游戏应该是《雷电》,游戏玩家使用键盘来控制飞机战斗,躲避敌人的攻击,利用自己的武器消灭敌人,战斗过程中能获取一些武器或者防护工具,被敌人击中会消耗生命值和能量值,最后出现大Boss,将其消灭后过关,关卡最后显示玩家成绩和本关信息。
Flash是一种当今网络上最流行的交互式矢量动画制作工具,具有出色的图形处理能力和丰富的画面表现力,优秀的交互性能又使它成为游戏制作的重要工具之一。用Flash制作的动画及游戏,具有矢量图形体积小,流媒体下载的特点使其更容易在网络上传播和应用,网页游戏逐渐成为近年来的流行,Adobe公司的Flash Player凭借其全球97%的桌面电脑占有率和跨平台的优势,成为了事实上的下一代的RIA(Rich Internet Application,富互联网应用程序)的主力。
ActionScript是Flash产品平台的脚本解释语言,它为Flash应用程序提供了强大的交互性和数据处理能力。该语言可以实现Flash中内容与内容,内容与用户之间的交互。ActionScript的解释工作由Action Virtual Machine(AVM)来解释,AVM是Flash Player播放器中的一部分。ActionScript语句要想起作用是要通过Flash创作工具或Flex服务器将其编译生成二进制代码格式方可,而编译过的二进制代码格式将嵌入SWF文件,被Flash播放器执行。
早期的ActionScript语言主要用来控制帧的跳转和鼠标、键盘交互,ActionScript的版本已经从1.0发展到至今的3.0,强大的ActionScript 3和支持ActionScript 3的新一代虚拟机AVM2,执行速度是之前版本ActionScript语言的10倍,并且ActionScript 3是一门面向对象的、具有业界标准素质的编程语言。
玩家飞机使用键盘的“上”“下”“左”“右”键来控制飞机的移动,shift键发射子弹,Space键是轰炸,游戏分为若干个关卡,每一关都有不同的地图,难度逐渐加大,敌人飞机先后出场,玩家得在躲避敌人攻击的同时选择合理时机攻击敌人,若有道具落下,则需要玩家接收,以增加自己的能量值,每个关卡最后会出现大Boss,努力将其消灭后过关,过关后显示本关信息及玩家得分等信息。若在战斗过程中玩家飞机中弹,则会以不同类型的攻击减少生命值或能量值,生命值减少为0的时候玩家被消灭,游戏结束,每个敌机有一定的分值,被消灭后玩家得积分会增加。
游戏界面设计和音效设计在很大程度上会影响游戏的效果,该游戏使用Flash本身的绘图工具箱制作了众多类型的敌方部队,丰富的游戏背景,多款子弹类型,和一些如爆炸等动画效果;战场使用外部的图像资源导入到Flash中直接使用,有城市、大海、陆地、森林等。在音效方面,为每一个游戏关卡都设计了独特的背景音乐,不会给玩家带来重复的感觉,音效来自现成的游戏音效素材,如飞机飞行的声音,爆炸声,子弹发射的声音等。部分效果如图1所示。
图1 部分角色及背景图
该游戏有很多相关的角色,比如玩家、敌机、子弹、炮弹、Boss、道具等,这些对象有的是有共同点的,比如不同的敌机,不同的子弹等,可以根据这些共同点归纳出相应的类,然后从这些类中派生出新的类,同时添加各自特有的属性和方法,从而可以创建出各具特色的角色和武器。
除了角色的类抽象之外,在游戏中还应该有很多通用的功能,比如键盘控制飞机的移动,子弹和飞机的碰撞检测,生命和能量显示条等,这些功能也封装到一些专门的类中,集中管理。
在程序的框架中利用抽象出来的各种类之间相互交流和协作,完成了游戏的制作。
本文使用Flash图形和动画制作工具配合ActionScript 3.0语言,设计并制作了一宽简单的飞行射击游戏,中间遇到一些问题,比如动画的制作怎么样更加逼真好看,音效的选择,程序的设计等,最终完成了一款效果不错的飞行游戏。图1中右边为最终游戏效果图。
[1]孙颖.Flash ActionScript 3殿堂之路.电子工业出版社,2007,9.
[2]乔珂.ActionScript3.0权威指南.电子工业出版社,2008,1.
[3]沈钧,李庆.Flash CS3 ActionScript 3.0游戏开发基础与范例.电子工业出版社,2008,4.
[4]张鹏.Flash CS4游戏开发教程.京华出版社,2010,6.
[5][美]Keith Peters著.苏金国,荆涛,等译.Flash ActionScript 3.0动画高级教程.人民邮电出版社,2010,1.
TP31
A
1674-6708(2011)53-0169-02