unity3d实例教程:俄罗斯方块 扫雷 贪吃蛇

所需积分/C币:50 2013-09-05 16:26:43 4.51MB PDF
收藏 收藏
举报

unity3d实例教程:俄罗斯方块 扫雷 贪吃蛇
号,是列号,通过给数组元素赋值、来控制方块显示的位置,如: 可以理解为第行列位置的方块显示 可能又有同学在想:这只是在数组里面把这个位置的值置为,怎么让 他真正显示在游戏场景里面呢?这个就可以用到 里面的 或者 ,我这里用的 ,当然,必 须自定义一个 ,不然 画出来的按钮将是 认的按钮样式而不会是上图中的样子。 方块的自动下落 这个说白了就是改变数组里面的值, 函数里面一直在检测上面所 说的那个二维数组里面的值,如果为就显示这个方块,如果为就不 显示。代码如下: 画右 墙壁 画左墙 壁 画底部 墙壁 刷新显示游戏界面的方块 、碰撞检测 在函数里面预定义墙壁位置的方块们对应数组元素的值为,代码 如下 这样,如果按下左键向左移动的时候,就检测方块所处位置左边一个位 置的值,如果为则移动方块,如果为则说明左边有方块,不做任何 动作。向下和向右的碰撞检测同理。 、砖块的移动 就拿按↓方向键来说,按一下那么方块就下落一个方块的位置,我用到 了如下代码: 这里的 个按键间隔变量,控制按键的检测时间间隔,因 为 函数用来实时监测按键的当前状态,所以如果不加这个时间 间隔变量的话,将会出现你按住向下键方块以极快的速度下落的景象。 (这里顺带说一下 和 这两个函数的区别: 用来实时监测按键的状态,如果你一直按着某个按键的话,按键所对应 的事件将会一直触发,一直到你松开这个按键; 则不同, 就算你一直按着某个键,这个按键所对应的事件也只会执行一次。)是 是在 甲面让这个值跟随时间而增加,代码如下: 向左、向右和向下移动是相同的,只是向左和向右需要监测左右边界的 碰撞,向下需要监测下边界碰撞,和上面讲的碰撞一样,按下相应的按 键之后,先监测是否碰撞,如果碰撞则不做动作,如果不碰撞,则向对 应方向移动一格。 、方块的变形 这里和上面的移动不相同,先看代码: 这里用到的是 函数,移动用的则是 两数,因为我 们不想按住向上键的时候方块在一直变形,当然,如果你思想足够 的话可以使用 加一个足够小的时间间隔变量来满足你疯狂变形 的欲望。碰撞检测还是要的,原理还是一样,监测变形之后的四个组 成块所处的位置是否与边界有重叠,如果有则不变形 、提示下一个方块 从思想的角度,这个东西很容易做。。做起来稍微有点复杂,其实原理 很简单,就是预先生成下一个方块,算法上具体怎么做则因人而异。 第三步,添加一些更炫更实用的功能 比如付个形状拥有随机的颜色(形状的四个组成块颜色相同),自然而 然考虑到 ,其实就是用 ,定义一个 里面放入 所有颜色的方块,利用随机数,来随机出本次显示的形状使用哪个颜色 的方块,具体实现靠你自己啦。 记分模块,比如消掉一行加一分,这个就一行代码,利用 来 显示。 还有好多功能,这里就看各位的自由发挥了 俄罗斯方块到此为止,,但是我想」下,干脆一不做二不休,吧其他两个教程也送上 来。买一送二晒。n 同样转自 不过本次教程作者为稻草 扫雷 编程工具: Unity3D26 脚本种类: Javascript脚本 第一部分—开发思路: 首先思考扫雷游戏的特点。每个雷块周围8个区域都会相应的给出 雷个数的提示。左键点击空白处,立即会扫出大片空白区域(排空)。 右键设定是不为雷。 脚本初始,设置空白区域为0,所有雷为1。我们不妨设扫雷的区域为 5X5(用for语句来实现)。用GUI来显示我们的5X5区域。 如图 0 toO aRIs 00000 00 雷区显示出来后,就该进行地雷的随机处理了,在这里留好地雷数 目的接∏,以便更改雷数和游戏难度。 用 JavaScript中的 Random循环来随机雷数,确定范围(让地雷不能跑 出5X5的区域)。这里规定雷数为5个,由数字1表示。 如图: 0001 0000 00001 为了进一步确定每次随机出来的雷数都在5X5的区域中。我们可以 在脚本中设置一个重置按钮(在这里格了区域留好接口变量,以便扩充 域) 如图: Rebulit 0%0.000 01000 00 0 (游戏后期可将重置按钮变为笑脸图块) 接下来要做的是设定地雷周边8个土块的数字的确定。区外围边 界要留好位置(在这里要当心数组越界的问题)在雷区旁边画出5X5 的雷区域(雷周边的数字)与之相对应。相应的定义出两个数组: 定义一个二维数组,包含扫雷区域 定义一个数组,存放雷 ∥定义一个二维数组,包含地雷周围数字(此数字的值等于其周围 8个数字之和,具体由雷数的多少和密集程度在1-8的数字之内) 如图: Rebulit Back 2 之后我们将考虑鼠标的互动和图块的变化,定义一个图片数组,加 载基本图片 如图 Shuzu pic size Element o Element l Eleme UTIARO Element 3 33 Element 4 44 Element 5 55 Element 6 66 Element 7 Element 8 88 Element g ?f Element 10 日ag Element l Element 12 将所有的雷区域全部覆盖成扫雷的盖子图块 定义一个二维图片数组,包含所有图片 定义单位图片,属于 shuzu pic的元素 如图: Rebulit 利用二维数组图片包含单位图片 shuzupic{Picx,y]可以轻松的更 換 button图片,用鼠标左键 Fire l,确定鼠标事件;用for循环确定事 件区域;用 mousePosition. x/y来确定点是否正确的点击到了确切的位置 之后确定点击的条件 ifelse语句即可。例如:点击位置如果是0更 换相应的空白图块 如图: 互园回 @回a 相应的鼠标石键Fire2同理右键点击为旗子,在点击为问号。(这 里做判断如果是旗子,则鼠标左键不能点击)

...展开详情
试读 24P unity3d实例教程:俄罗斯方块 扫雷 贪吃蛇
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
oop925 仔细研究学习一下。
2016-08-31
回复
baidu_29236845 还好,可以自己写着做。
2015-07-08
回复
a18207113314a 没有源码,觉得还好啦,自己摸索着学,可以看看
2015-06-30
回复
呀嚒哒 不错,代码很详细
2015-05-08
回复
qq_27919521 对于菜鸟来说挺不错的
2015-05-04
回复
liuyang_0829 讲的很详细,根据思路自己应该可以实现,谢谢
2015-01-26
回复
asite001 一般般,内容太简单,不过有借鉴意义。
2015-01-13
回复
巨型棕熊 写的很容易明白,好评
2014-08-30
回复
Unizzw 不错!受教了
2014-06-29
回复
ls358 没有源代码,但是有基本的制作思路
2014-06-16
回复
关注 私信 TA的资源
上传资源赚积分,得勋章
最新推荐
unity3d实例教程:俄罗斯方块 扫雷 贪吃蛇 50积分/C币 立即下载
1/24
unity3d实例教程:俄罗斯方块 扫雷 贪吃蛇第1页
unity3d实例教程:俄罗斯方块 扫雷 贪吃蛇第2页
unity3d实例教程:俄罗斯方块 扫雷 贪吃蛇第3页
unity3d实例教程:俄罗斯方块 扫雷 贪吃蛇第4页
unity3d实例教程:俄罗斯方块 扫雷 贪吃蛇第5页

试读结束, 可继续读3页

50积分/C币 立即下载 >