游戏的结束、开始。动态信息画面作为构成一个程序都是必不可少的重要部分。良好的用户界面更是吸引用户的硬指标,相关的美术构图和人性化设置也需要有一定的考虑。
3.3 系统功能设计
该系统主要分为飞机,子弹和掉落的碎片三个模块。游戏界面是从下向上进行的。在打开游戏界面的时候,提示点击按空格开始,方向键控制,空格开火,BOSS很强。开始游戏以后,游戏界面上显示玩家飞机。用键盘的上下左右键控制飞机的飞行,空格键发射子弹。玩家的飞机拥有生命和一定的移动速度。同时出现障碍物,障碍物玩机飞机可以击破,击破障碍物可以获得积分。在玩家获得足够的积分以后出现敌方飞机,首先出现的飞机不会发射子弹。只有通过其较快的飞行速度和较大的数量对玩家构成威胁。此时飞机一次性会出现多个,每组飞机会连续出现不间断。游戏的最后会出现BOSS,BOSS会和不发子弹的飞机同时出现。BOSS的出现不受积分的限制,只是会在规定的时间出现。BOSS拥有比其他飞机更大的杀伤力。BOSS会发射子弹,BOSS子弹的杀伤力是普通飞机的双倍,与BOSS相撞和被BOSS子弹击中效果相同。
游戏功能模块图:
图1 游戏功能模块图
4.详细实现
4.1 对象组件的实现
(1)玩家飞机的设计
新建元件,类型设置为影片剪辑,命名为vulture,打开元件,新建图形元件玩家飞机并编辑元件,在舞台上画出玩家飞机。如图:
图2 玩家飞机图
(2)敌方飞机的设计
在新建元件,类型设置为影片剪辑,画出敌方不同形状的四个飞机:如图:
图3 敌方飞机图
4.2飞机被击落的实现
飞机被击落的效果:游戏中飞机如果被击落,如果简单的来做,只需要设置飞机消失即可,不过为了增加游戏的观赏性,我们这里专门来设计以下飞机被击落的效果。
新建一个Movie clip元件,命名为mDown,进入元件的编辑状态后,首先添加三个图层分别为down, planedown和explord,在图层explord的第一帧绘制一个如图4所示的多角图。
图4 飞机击中后图
4.3 控制飞机的实现
键盘响应控制实现:
onClipEvent(enterFrame)
{if(Key.isDown(Key.RIGHT)){this._x+=10;按右键向右
else if(Key.isDown(Key.LEFT)){this._x-=10;}按左键向左
if(Key.isDown(Key.UP)){this.y_=10;}按上键向上
else if(Key.isDown(Key.DOWN)){this._y+=10;}按下键向下
用键盘上的方向键作上下左右控制飞机;
4.4 积分的实现
系统中为了让玩家更容易获得积分,设计了积分道具。当玩家击破敌方的飞机时会得到一定的积分,可以通过获得该道具使玩家积分上升并更容易使敌方飞机出现,使游戏更具有可玩性。
游戏中需要用到记录已击中飞机的积分器,所以新建一个movie clip组件,命名为count,进入组件编辑状态后,将默认图层重命名为box。然后再新建一个图层,重命名为ScooreBoard,先使用矩形工具绘制一个小窗口,然后使用文本工具在窗口上输入“积分:0”, 再新建一个图层,命名为number,在此层给每一桢都添加as:stop()。
如图所示:
图5 游戏积分图
在第2帧添加如下AS:
Score = 0;
//设置初始得分为0
Playtime = 100
游戏积分分为不同的阶段,达到一定的积分会出现相应的飞机或多种飞机同时出现。积分是通过击破障碍物或敌方飞机来获得。游戏中飞机一共有四种不同的模式,击爆不同模式的飞机,得到的积分也不相同,分别为500、800、 1200、2000,Boss的出现与玩家积分无关。 Flash射击类游戏制作(3):http://www.751com.cn/jisuanji/lunwen_1322.html