当前位置:首页 > 设计在线 > 平面动画 > Flash > 我做的一个迷宫游戏(图解)

我做的一个迷宫游戏(图解)

点击次数:30 次 发布日期:2008-11-21 23:33:47 作者:源代码网
源代码网推荐 下面是教程,请大家PP啊,呵呵
所谓“迷宫”,给玩家的第一感觉就是要够“迷”,即直觉上要给玩家一种“害怕”感觉。机关要够多,够复杂。在做迷宫游戏时,最重要的一点,是要设计一条非常曲折的出宫路线,这样可以增加游戏的难度和趣味性。我感觉这和设计者的思路,创意,还有经验有很大的关联。
好了,废话少说,进入正题!
我在做这个迷宫游戏的时候,首先是用PS做好迷宫里的砖,这是用来搭建墙壁的。其次要设计好出迷宫的路线(偶可是改了好几次的,呵呵),再次把砖导入FLASH的一个MC里,这个MC专门用来放迷宫里的墙。最后就是代码的编写了。
1、打开PS,新建一文档,如图所示:
按此在新窗口浏览图片
2、双击前景色,打开拾色器,对前景色做如图调整:
按此在新窗口浏览图片
3、然后选择“滤镜”-----“纹理”-----“纹理化……”,做如图调整:
按此在新窗口浏览图片
按此在新窗口浏览图片
4、选择“选框工具”,用选区截取其中的1到2个砖头,并复制到一个新的文件中,如图:
按此在新窗口浏览图片
把它存储为.gif格式的文件。到此,砖头就准备完毕了。5、打开LASH,把刚才做好的砖头导入库中。按CTRL+F8,创建一个MC,名字为“墙”。把砖头拖入图层1,然后在新建一层,命名为“路径”。在这个层里用来画出迷宫的路线,如图
按此在新窗口浏览图片
这里是需要经验和创意的,还有耐心,偶在做的时候改了好几次,呵呵
6、路线画完之后,接下来就是要用砖头来建造迷宫了。这可需要很大的耐心呀!注意胡同的宽度要适中,方便方块行走。最后墙的效果如图所示:
按此在新窗口浏览图片
等自己觉的满意了,不要忘了把路线给删掉呀,要不然的话,会被别人看到的,呵呵
7、 接下来要建两个方块,一个用来代替人走出迷宫,一个用来检测那个方块是否走出迷宫。按CTRL+F8,新建两个影片剪辑,分别命名为“方块1”和“方块2”。注意方块的宽度不要大于上图中胡同的宽度。再创建几个按钮,分别为“游戏开始”,“游戏说明”,“返回”按钮。
8、进入主场景。建立4个层,分别命名为“游戏的墙”,“游戏的点”,“游戏说明”,“游戏代码”。把作好的墙壁拖入游戏的墙图层中,把方块1和2拖入游戏的点图层中。游戏说明图层则用来放置按钮,游戏的文字说明,以及游戏的玩法。各个图层贞的设置如图示:
按此在新窗口浏览图片
其中游戏代码图层的各贞分别写stop();
9、下面是主要的代码。一些按钮上的代码是非常的简单的,这里我就不在赘述了。我是说说碰撞检测的代码。主场景中移动的方块实例名为“point”,在出口出的方块实例名为“point2”。
选择point,添加代码:

onClipEvent(enterFrame){
if(Key.isDown(Key.LEFT)){
this._x-=2;
}//左方向键按下,方块x坐标减2
if(Key.isDown(Key.RIGHT)){
this._x+=2;
}//右方向键按下,方块x坐标加2
if(Key.isDown(Key.UP)){
this._y-=2;
}//上方向键按下,方块y坐标减2
if(Key.isDown(Key.DOWN)){
this._y+=2;
}//下方向键按下,方块y坐标加2
if(this._y<=0){
this._y=1;
}//如果方块的y坐标小于0,方块的y坐标就变为1.这是为了防止方块向上走出迷宫
if(this.hitTest(_root.point2)){
delete this.onEnterFrame;
this._x=_root.point2._x;
this._y=_root.point2._y;
_root.gotoAndStop(4);
}//如果这个方块与出口处的方块相遇,游戏胜利
}
选择墙壁MC,添加代码:
onClipEvent(enterFrame){
if(this.hitTest(_root.point.getBounds(_root).xMin,_root.point._y,true)){
_root.point._x+=2;
}//如果墙壁与point方块的左侧相撞,那么x就加2,这是为了抵消按下左键,方块向左移动2的效果.下面相同
if(this.hitTest(_root.point.getBounds(_root).xMax,_root.point._y,true)){
_root.point._x-=2;
}//如果墙壁与方块的右侧相撞,那么x就减2
if(this.hitTest(_root.point._x,_root.point.getBounds(_root).yMin,true)){
_root.point._y+=2;
}//如果墙壁与方块的上边相撞,那么y就加2
if(this.hitTest(_root.point._x,_root.point.getBounds(_root).yMax,true)){
_root.point._y-=2;
}//如果墙壁与方块的下边相撞,那么y就减2
}
好了,迷宫游戏制作完毕。总结关键就在于迷宫路线的设置和碰撞检测代码的书写。这个游戏的难度不大,就算是入门之作吧,呵呵
源代码网供稿.
网友评论 (0)
会员中心
设计在线
本站推荐
设计在线之精华