本文摘自电脑编程技巧与维护第8期
一、简述
Flash作为一款矢量图形和动画制作的软件,在矢量图形压缩方面有着惊人的能力,支持动画、声音以及交互等众多多媒体设计中应该使用的功能,并可直接生成主页代码在Web上发布,所以很快便在互联网世界中流行起来,今天的Flash已经不再局限于网络动画的制作,它已经成功地渗入到音乐电视、广告、教学、游戏等多个领域,并作为主要的开发工具被使用。
使用Flash设计游戏是Flash的至高境界,在Flash之前,如果想要编写一个包含二维动画的游戏,需要熟练掌握VB、C++等程序设计语言,牢记那些无穷无尽的函数,绝对不是一件容易的事情,而Flash将美术设计与程序开发有机地结合在一起,只要充分掌握了Flash的使用方法和应用技巧、游戏设计的理念和方法,设计一款网络游戏是易如反掌的。
本文将介绍战机游戏设计的过程,对关键技术的设计进行阐述,使读者认识Flash游戏设计的强大功能,掌握Flash游戏设计的方法和技巧。
战机游戏常见的关键技术有:
1、战机出场控制,包括战机的按键控制和发射控制,常见的用键盘上的方向键作上下左右控制,上左键、上右键、下左键、下右键结合是45度角度的倍数控制,空格键作发射导弹控制,发射控制中常用战机捆绑发射导弹。
2、敌机出场设计,包括敌机出场的数量、随机位置、速度的设计。
3、碰撞检测设计:包括战机发射导弹是否射中敌机的检测,敌机与战机是否相撞的检测,敌火是否射中战机的检测。
4、背景控制:在战机游戏中,为模拟穿越星空的感觉,背景的星空应向左移动,当时间较长时,背景影片剪辑会移出舞台外,为此,应动态复制背景影片剪辑,让玩家感觉背景是连续的。
5、音乐控制:包括背景动感音乐的播放、停止控制,战机发射导弹、射中敌机、敌机爆炸、战机受袭的音效控制。
6、时间及分值设计:包括游戏限制时间设计、得分实时统计、生命值实时统计。
7、释放内存空间设计:这是很重要的一部分设计,因为战机游戏在播放的过程中,动态生成了背景,复制了敌机、敌火、发射的导弹等等,如果不动态删除这些影片剪辑,占据的内存空间会越来越多,会影响游戏的速度,有一些网络游戏的开发没有注意这方面,导致玩家的事件响应越来越慢。
8、界面及按钮设计:包括游戏开始界面、失败界面、胜利界面及按钮的设计。
下面,以一款W机动战机游戏设计为例,实际讲解战机游戏的开发过程。
软件开发环境:Windows98以上、Flash MX或Flash MX 2004
步骤:
1、进入Flash MX工作环境,设置影片大小为550*400,背景颜色为黑色,创建三个场景,场景1是开始画面,场景2的第1帧是游戏过程,第2帧是失败画面,场景3是胜利画面。
2、在场景1 的第1帧,导入如图1所示的文字、图像、按钮,为增加动感,可将标题文字作成光线变化的文字,在第1帧的动作窗口输入以下代码:
function clean() {
for (i in _root) {
_root[i].removeMovieClip();
}
}
_root.clean();
// 删除本动画所有装载的影片剪辑,释放内存空间
stop();
// 停止,等待用户按钮控制 在exit按钮的动作窗口输入代码:
on (release) {
// 释放鼠标时,退出游戏
fscommand("quit", "1");//fscommand语句只有在独立播放器中才起作用
} 在start按钮的动作窗口输入代码:
on (release) {
// 释放鼠标时进入场景2,开始游戏
nextScene();
} 3、进入场景2,为了避免混乱,创建5个图层,分别命名为背景动画、高达、敌机、分值及背景音乐、失败跳转,首先制作背景动画。