Flash一直是大家喜欢的交互多媒体开发工具,Flash游戏则以简单、耐玩,而深受用户喜爱。看似复杂多变的Flash游戏,其制作并不难。本文以一款传统的飞行游戏制作为例,说明其制作全过程,相信在你阅读完本文后,也可以通过自己的想象,制作出心仪的游戏来。
一、飞行游戏制作思路分析
这是一款相对传统的飞行游戏。它使用上、下、左、右键控制飞机的运行方向,Shift键发射子弹,空格键发射导弹。游戏中共有两种敌机,一号敌机的飞行方向是由下而下,二号敌机是由左至右,两种敌机的飞行轨迹都是弧线的、随机的。
在游戏中我们添加了几组数据,以增加游戏的刺激性。例如,装备库的设计,它可以随机添加一些装备,以供主控飞机使用。这其中包括有子弹的速度、导弹的个数、飞机数量,以及主控飞机的飞行速度。装备库的设计,会大大增加游戏的娱乐性。
另外,在BOSS敌机的设计中,我们使用了利用弧度换算角度的公式,使BOSS敌机可以发射一种子弹,跟踪主控飞机的坐标。相信在这些设计中,会让大家品尝到不同的数学公式,在游戏制作中的妙用。
二、游戏界面设计
1.制作开始界面
每一个游戏都有一个开始界面,供游戏者选择,我们在第1帧中制作游戏的开始界面。启动Flash MX 2004,请在第1帧中加入stop()代码,然后制作一个start按钮,当按钮点击时跳转到下一场景。如图2所示。按钮的内容如下:
on(press){
gotoAndPlay("Scene 2",1)
}
2.制作星空
按下Shift F2组合键,打开“场景”面板,点击“ ”按钮新增加一个场景,进入场景2,开始游戏的制作。
将“图层1”更名为scene以制作星空。其实,这些星空都是用圆形绘图工具绘制上去的,它们的大小只有一个或是两个像素,我们可以使用复制,然后再对齐的方式,使它们布满场景。
全选这些亮点,按F8键将其转换成影片剪辑,将这个影片剪辑复制3次,然后放置在一个影片剪辑中,让它们并排向下循环移动即可。
3.变量设置
新建一个图层,命名为fenshu,使用文本输入工具,在屏幕下方输入:“现在分数:”、“子弹速度”、“子弹类型:”、“导弹数量:”、“飞机速度:”、“飞机数量:”等文字内容。
新建一个图层,命名为score,在工具箱中点击“文本工具”按钮,然后在“属性”面板中更改其为“动态文本”,在“现在分数:”的后面拖出一个输入框,在“属性”面板中将“变量”更改为score。
使用相同的方法,新建shot_speed图层,在“子弹速度:”后制作一个动态文本框,变量名称为shot_speed。新建一个shot_sty图层,在“子弹类型:”后制作一个变量名为shotsty_txt的动态文本框。新建一个plane_speed图层,在“飞机速度:”后制作一个plane_speed的动态文本框。
新建missilenum图层,使用绘图工具绘制作如图5所示的图形,选取这些图形按下F8键将其转换成影片剪辑,命名为missilenum_mc,在“属性”面板“实例名称”框中输入“missile_num”。
进入missilenum_mc影片剪辑,在第3、4、5、6帧处按F6建立关键帧,在第6帧处加入stop()代码,然后将第1帧中的导弹全部删去,第2帧保留一个,第3帧保留2个,以此类推。
回到场景,新建一个plane_num图层,取实例名为“planenum_mc”,依照上一步的方法制作。
回到场景,在第1帧中加入如下代码,新建一个info图层文件夹,将上面的这些图层放置其中:
score=0
shot_speed=10
shotsty_txt="单弹道"
missilenum=6
plane_speed=10
planenum=4
shot_sty=1
missile_text=6
代码说明:
这里主要是为这些变量赋值,score等于分数,初始值为0,shot_speed等于子弹速度,初始值为10;shotsyt_txt等于子弹类型,开始时它为单弹道;missilenum表示导弹数量,初始值为6;plane_speed表示飞机速度,初始值为10;planenum表示飞机数量,初始值为4;子弹类型的变量等于1;导弹类型的变量等于6。