快速业务通道

Flash游戏设计之迷宫篇

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-10


游戏背景:

  在暮色中,一支坦克小分队要去消灭敌人的飞机场,但途中陷入了敌人设置的一个迷宫里。玩家的任务就是带领这只小分队走出该迷宫,到达敌人的飞机场后,任务即完成。

游戏简介:

  迷宫游戏是一种经久不衰的游戏,其玩法也很简单,就是从起点开始找到出口。传统的迷宫游戏只能通过复杂的地图,多种出路组合来吸引玩家的兴趣。而本例中的这个迷宫游戏则不同,因为它的地图是随机生成的,这样就大大地增强了游戏的可玩性。这也是该游戏设计最有吸引力的地方。
  为了考虑到大部分读者,游戏并没有被设计的多复杂。但游戏的制作方法很容易掌握,读者学会后,可自行设计出更加复杂的迷宫游戏。

游戏玩法:

  游戏的玩法很简单。玩家只要通过敲击键盘上的方向键来控制“坦克”前进和后退,只到接触到“飞机”,游戏结束。单击“继续任务”按钮则可重新开始游戏。

游戏定义:

  在设计游戏前,总需要考虑这样几个问题,游戏环境的形成、规则的创建以及如何编写游戏的代码。但幸运的的是,这个迷宫游戏定义起来并不复杂。

  1.游戏环境。首先要考虑的是游戏在怎样的一个环境中进行。这是实现一个简单的顺序游戏最关键的部分。该游戏中,使用Array(数组)对象来控制实现迷宫的动态生成。这一点确保了游戏的可玩性。在其它游戏中,设计中也可以通过载入地图的方法来实现游戏的多样性。

  2.控制方法。玩家如何控制游戏中的角色,操作是否方便有决定了游戏的可玩性。设计者可以通过许多行为方法来控制游戏主角的运动。该游戏中,只要使用简单的随机行为就可以了,即使游戏主角的位置发生一定的便宜。玩家可以通过键盘的触发时间来控制游戏中主角——“坦克”的运动。

  3.游戏结束。其实,游戏中最困难的事情之一是如何来判定玩家的胜利和游戏的结束。主角碰壁则不难实现,使用hitTest碰撞检测就能轻松解决问题。庆幸的是,这个游戏中也能通过碰撞检测技术来判断“坦克”是否到达了出口,即是否碰到了飞机。

制作步骤:
? 图1
  新建一个Flash文档,单击“属性”面板中的“尺寸”按钮,打开“文档属性”面板设置场景大小为,540px x 400px背景为黑色,帧频为12fps。如图1所示。在游戏制作之前,为了让大家对该游戏能有一个整体的感觉,也为方便以后的设计,我们先来看看游戏场景中层与帧的布置与设计。如图2所示。

图2 ? [1]?[2]?[3]?[4]?[5]?下一页?? ? ??设计元件。

  1.游戏主角。游戏主角就是由玩家来操作的游戏角色。按快捷键Ctrl+F8打开“新建元件”面板新建一个名为“坦克”的影片剪辑元件。如图3所示。在“坦克”元件的场景中按快捷键Ctrl+R打开“导入”面板,导入一个坦克图片,如图4所示。在“属性”面板里设置“坦克”的高和宽都为24px。

图3 ? 图4图5

  2.按快捷键Ctrl+L打开“库”面板,把库中的“坦克”元件拖入到“场景1”中。点选场景中的“坦克”元件,在“属性”面板命名其实例名为tank。如图5所示。接着点选场景中的“坦克”元件,按快捷键F9打开的“动作”面板并键入如下代码。

// 按下任意键执行
onClipEvent (keyDown) {
// 纪录被敲击的键
?kd = Key.getCode();
// 如果没有碰到“飞机”元件
?if (!this.hitTest(_root.plane)) {
??cell = new Array();
??cell = fun_cellwall(_root.tankX, _root.tankY);
// 如果敲击右方向键
??if (kd == Key.RIGHT) {
// 如果通道畅通则移动“坦克”元件
???if (cell[0] == false) {
????_root.tankX++;
????this._x += 30;
???}
// 跳转到“坦克”元件的第4帧并停止播放
??gotoAndStop(4);
??} else if (kd == Key.DOWN) {???
???if (cell[1] == false) {
????_root.tankY++;
????this._Y += 30;
??

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号