|
迷宫是一种很古老的智力游戏,记得小时候玩的迷宫游戏大都是印在报纸上的,然后拿跟笔在报纸上划来划去的找出口,一旦出口被找到了,那么这个游戏的生命也就结束了,谁也不愿意重复玩一张迷宫地图,不过我们下面将要开始的Flash迷宫游戏就不同了,每此玩之前都会动态的创建迷宫,保证可以玩到不同的迷宫。
此游戏的主界面如图1所示:
 图1
游戏玩法:
从图1显示的游戏主界面中可以看到,此款游戏在外观上和传统的迷宫游戏非常相似,而且在玩法上也是一模一样,游戏中玩家用键盘方向键控制左上角的绿色主角,在迷宫中寻找到达右下角红色出口的通路,只要成功的到达出口,游戏胜利,可以开始玩下一局,每局和每局的迷宫地图都不相同,地图由游戏动态生成。
游戏制作思路:
如果想顺利的实现此游戏,首先需要考虑下面几点:
1.主角的控制:能够很好的对主角进行控制,是增强游戏可玩性的关键,所以考虑使用键盘方向键来控制主角的上下左右的移动,使用Flash Action动作脚本提供的OnClipevent事件,可以轻易的使用键盘对游戏中的对象进行控制。
2.迷宫的生成:这个问题是实现此游戏最关键的部分,在本例我们使用功能强大的Action动作脚本中的Array数组对象来控制迷宫的动态生成,可以保证每次游戏的地图完全不同,不过除了使用AS生成地图外,也可以使用比较传统的办法,那就是事先绘制好一些迷宫地图,分配到不同的关键桢中,然后通过Random随机函数随机跳到某一桢,这样也达到了随机显示地图的目的。不过这样做工作量比较大,而且缺乏一定的动态性,既然Flash为我们提供了强大的AS,为什么不加以利用,提高工作效率呢,所以本例我们使用AS控制`地图的随机生成。
3.在迷宫中判断碰壁和到达终点:如果主角在运动中碰到了迷宫的墙壁,则不能继续前进,需要改变运动方向,所以在游戏中很好的对是否碰壁进行判断也是很重要的一方面。不过这个问题实现起来也不难,使用Hittest碰撞测试函数可以很好的解决这个问题,而判断是否到达终点的解决办法也一样,只不过碰撞的对象是终点的红色小球。
制作步骤:
在初步规划了游戏设计思路,考虑了游戏中要解决的问题的解决方法后,就可以着手制作游戏了。
1.制作游戏主角:游戏主角是我们要控制的对象,所以首先来制作主角,因为游戏中需要使用键盘对主角进行控制,所以主角应该制作成MC,这里新建一个MC,命名为man,进入man的编辑状态后,在第1桢使用矩形工具和直线工具绘制一个简单的圆脸,如图2所示:
 图2
图2是主角在游戏中的状态,主角到达终点时候,会显示一张笑脸,所以在第2桢插入一个关键桢,使用矩形工具和铅笔工具绘制一个简单的笑脸,如图3所示:
 图3 2.制作迷宫出口:游戏中迷宫的出口是由一个小球标识的,只要主角到达小球所在位置,则可判断游戏胜利,游戏中需要判断主角是否和小球发生碰撞,所以小球也需要制作成MC,新建一个MC,命名为exit,进入exit的编辑状态后,只需绘制一个有填充色的正圆即可,如图4所示:
 图4
3.制作重玩按钮:游戏中当然少不了开始,重玩一类的控制按钮,这里只需要一个重玩按钮即可,游戏启动后会自动进入开始状态。新建一个Button,命名为tryagain,进入tryagain的编辑状态后,可以按照自己的喜好绘制各种按钮,本例中重玩按钮的Up祯和Down桢如图5所示,Over祯如图6所示:
 图5
 图6
4.制作迷宫墙壁:游戏中迷宫是由AS控制生成的,不需要人为的干预,所以只需要制作墙壁的基本部分,由程序控制将其拼接成完整的迷宫。这里可以制作两个MC,分别为水平墙壁和垂直墙壁,使用矩形工具绘制成园角矩形即可,如图7所示:
 图7
游戏的基本组件已经制作完了,非常的简单,剩下的工作就可以交给Action去处理了,在使用Action控制游戏之前,还需要布置主场景。
布置主场景:
回到主场景中,设置影片舞台大小为540px*400px,影片背景色为桔红色,然后将默认图层layer1重命名为tryagain,在第7桢插入一个关键祯,将组件tryagain放置到舞台靠右下的位置,还可以在按钮上添加一些提示信息,如”找到出口拉”,如图8所示:
 图8
新建一个图层,重命名为exit,在第5桢插入一个关键祯,然后从库中将出口小球exit拖到舞台上任意位置,并在属性面板中设置其Instance Name为exit,如图9所示:
 图9 再新建一个图层,重命名为start&man,此图层放置游戏开始时构造迷宫地图的提示信息以及游戏的主角,在第1关键桢输入如图10所示的游戏开始提示信息:
 图10
然后在第5祯插入一个空白关键祯,将主角man拖到舞台的任意位置,并在属性面板中设置其Instance Name为man,如图11所示,并将此图层延续到第7祯:
 图11 添加Action:
主场景布置好后,最后的任务就是添加Action控制代码了,新建一个图
[1] [2] 下一页
|