Flash游戏设计之迷宫篇
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-10
?} ??gotoAndStop(1); ??} else if (kd == Key.LEFT) {??? ???if (cell[2] == false) { ????_root.tankX--; ????this._x -= 30; ???} ??gotoAndStop(2); ??} else if (kd == Key.UP) { ???if (cell[3] == false) { ????_root.tankY--; ????this._Y -= 30; ???} ??gotoAndStop(3); ??} // 检测游戏是否碰撞“飞机”元件,有则跳转到第6帧 ??if (this.hitTest(_root.plane)) { ???_root.gotoAndStop(6); // 隐藏“飞机”元件 ???_root.plane._visible = 0; ???} ?} ?// 定义fun_cellwall函数 ?function fun_cellwall(a, b) { ??cw = new Array(); ??for (i=0; i<_root.Maze.length; i++) { ???if (_root.Maze[i][4] == a && _root.Maze[i][5] == b) { ????cw = _root.Maze[i]; ????return cw; ???} ??} } } ? 上一页??[1]?[2]?[3]?[4]?[5]?下一页?? 如图4所示,选中“坦克”元件中按快捷键F6插入3个关键帧。按快捷键Ctrl+T打开“变形”面板把“坦克”元件换个方向。如图6所示。4帧中坦克面向分别为下、左、上、右。 ? 图6 3.迷宫出口。迷宫的出口是一架飞机,也就是故事梗概中敌人的机场^O^。只要“坦克”碰撞到飞机,则任务完成。新建一个“飞机”影片剪辑元件,从“库”面板中拖入到“场景1”中。在场景中点选该元件在“属性”面板中命名其实例名为“plane”。 图7 4.重玩设置。无论什么游戏,都需要有一个重玩的机制。制作一个按钮,按钮在按钮场景中用“文本”工具写上“继续任务”四个字。 ? 图8 5.制作迷宫。前面笔者已经讲过,游戏中的迷宫完全是随机生成的。设计者所要做的工作就是给程序提供组成迷宫的四个线段。如图7所示,创建4个“线段”影片剪辑元件。元件创建好后,点选“线条”工具(图标2),在“线段1”的场景里绘制一条直线,点选绘制好的直线,如图8所示设置其“属性”面板。其它3个“线段”元件的设置方法和“线段1”一样,只是位置不一样。“线段2”的“属性“面板设置如图9所示,其宽为30px,Y轴的距离为15px。“线段3”宽度宽高和“线段1”一样,只是X轴的坐标为15px。“线段4”宽度宽高和“线段2”一样,只是Y轴的坐标为-15px。 ? 图9 ? 上一页??[1]?[2]?[3]?[4]?[5]?下一页?? ? 6.按快捷键Ctrl+L打开“库”面板,右键单击库中的“线条1”元件,在弹出的菜单中选择“链接...”命令。如图10所示设置“链接属性”面板,给声音文件起个标识符名为“w1”,以便以后调用。其它三个“线段”元件的标识符分别为“w2”、“w3”和“w4”。 图10 ? ??设置主场景。 1.按快捷键Ctrl+E回到“场景1”。双击“图层1”的文字,将其改名为“飞机”。在该层的第4帧按F7键插入一个空白关键帧。从库中将“飞机”元件拖到场景上任意位置,并在“属性”面板设置其实例名为“plane”。 2.如图2所示新建一个“坦克”层,该层的作用是放置游戏开始信息和“坦克”元件的。在该层第1帧中输入文字“游戏载入中 请稍等:)”。在第4帧插入一个空白关键帧,从库中将“坦克”元件拖到场景中,并在“属性”面板中设置其实例名为tank。在第6帧上按F5键插入帧。 3.如图2所示创建一个“脚本”层。选中该层的第3帧插入一个空白关键帧。点选第3帧,按快捷键F9打开“动作”面板,键入如下代码。 // MazeH和MazeW是地图的高和宽,地图大小和复杂程度由这两个变量控制 MazeH = 12; MazeW = 12; // 定义变量TotalCells,其值为迷宫的面积,控制着迷宫所能容纳“线条”元件的数量 TotalCells = MazeH*MazeW; // 定义一个新的数组Maze Maze = new Array(); for (i=0; i ?Room = new Array(); ?Cell = new Array(); // 使用数组对象中的Push方法将数据添加到数组元素中,i/MazeW为取整,i%MazeW取余数 ?Cell.push(true, true, true, true); ?Cell.push( |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: Flash实例效果之电子日历下一篇: Flash中变色背景的实现技巧
关于Flash游戏设计之迷宫篇的所有评论