Flash AS3.0教你射击类游戏的制作


解析打飞机游戏的制作过程
(一)

演示:

Flash



这款游戏可能大家都玩过 。敌机在蓝天上来回飞行,左右箭头键操纵火炮在草地上左右移动 。按下空格键发射子弹,击中敌机后,敌机爆炸 。得分:记录击中的敌机数 。 残余子弹:记录子弹的数量 。

游戏运行过程图:




所有文件及作用图:游戏文件


AirRaid.fla程序界面及元件
AirRaid.as文档类 程序的入口 。操纵整个程序的逻辑顺序,逻辑 构造关系 。
AAGun.as绑定库中的火炮的类操纵火炮
AirPlane.as绑定库中的敌机的类操纵飞机
Bullet.as绑定库中的子弹的类操纵子弹


UI(界面) 部分
AirRaid.fla文件 构造

AirRaid.fla文件:是主文件,分为5个图层3帧,帧上有代码,绑定了文档类 AirRaid.as  。图:界面元素


1、背景层:绘制的蓝天、草地、山峦 。
2、 成就显示层:"得分:" 动态文本:实例名 showScore " 残余子弹:" 动态文本:实例名 showShots 。
3、按钮及 揭示层:第1帧:开始按钮及 注明,实例名:startButton 。第3帧:再一次开始按钮及 完毕 揭示,实例名 playAgainButton 。
4、代码层:3帧每帧都有代码 。
5、标签层:第1帧,标签名称:intro 第2帧,标签名称:play 第3帧,标签名称:gameover  。


代码层的每帧代码及解释:

第1帧代码:

importflash.events.MouseEvent;
stop();
startButton.addEventListener(MouseEvent.CLICK,clickStart);
functionclickStart(event:MouseEvent){
gotoAndStop("play");
}

解释:给startButton注册了鼠标点击事件,用clickStart 步骤来实现,点击startButton按钮就把影片转到第2帧上游戏的进行界面 。


第2帧代码:

stop();
startAirRaid();

解释:调用文档类的startAirRaid 步骤,执行这个 步骤,就会生成敌机,火炮, 承受消费者的键盘操作事件来生成子弹等一系列操作 。


第3帧代码:

playAgainButton.addEventListener(MouseEvent.CLICK,clickPlayAgain);
functionclickPlayAgain(event:MouseEvent){
gotoAndStop("play");
}

解释:给playAgainButton注册了鼠标点击事件,用clickPlayAgain 步骤实现,点击playAgainButton按钮跳转到第2帧 。


AirRaid.fla文件与文档类的绑定:
绑定文档类:AirRaid.as 图:绑定文档类




最终 打开库看看库中的元件 图:库元件



AAGun影片剪辑(炮)
AirPlane影片剪辑(飞机)
BasicButton按钮
Bullet影片剪辑(子弹)


说一下AirPlane影片剪辑 图:飞机剪辑



1-5帧每帧一个飞机图形 。第6-9帧爆炸图形,有标签:explode 第10帧有代码 。



第10帧代码:

parent.removeChild(this);
stop();

解释:parent 是父容器 this 是 本身 removeChild 是移除 。这句代码的意思是 告诉父容器把它从显示界面移除 。便是说当子弹击中敌机,敌机播放爆炸 动机 。播放到第10帧时,就 告诉它的父容器把它从屏幕上移除 。
1、首先 打开Flash CS4 (CS3、CS4或CS5没什么大的区别)新建 名目,按确定 。 打开 名目面板 。图:新建 名目





2、点击右边的第一个三角按钮( 名目),在下拉菜单 当选"新建 名目" 。在弹出新建 名目面板 名目名称:填入 名目名称 。在根文件夹:项中点击右边的阅读按钮,阅读到 预备 存放项 目标目录,按确定 。在ActionScript版本:选ActionScript 3.0  。单击" 缔造 名目"按钮,这样 名目就建好了 。图: 名目面板





3、把AirRaid.fla文件复制到 名目文件夹下(省去制作界面) 。点击下面的" 缔造类"图标,在弹出的 缔造类面板类:的文本框中填入文件名:AirRaid 单击 缔造类按钮 。这样类就 缔造好了并为我们写好了类的框架,我们 可以在框架中增加我们的代码了 。图: 缔造类




图:填入类名





图:类的框架