首页 > 代码库 > 基于unity3d和leap motion的拼图游戏

基于unity3d和leap motion的拼图游戏

最近用unity3d引擎做了一个拼图游戏,会分几次写完,以此作为总结。本文基本查找了网上能查到的所有资料作为参考。也算是大家节省了时间。

目前只完成了拼图部分,leap motion手势控制部分会在后续完成,不过说实话不太看好LM。

项目资源来自 栋笃神探 http://blog.csdn.net/cube454517408/article/details/7907247不过玩法不同,玩法与小夭 http://game.ceeger.com/forum/read.php?tid=2852相同。我也重写了前者的程序,部分实现思路不同,两个游戏的工程在本文完成后都会打包上传。

首先是整个游戏需要的模块。

一个拼图游戏大致需要如下几个控制模块:碎片显示,碎片随机打乱,随机排序后碎片顺序的合法性检查,移动控制,拼图是否完成的检查。

一、碎片显示。

此部分可以有几种选择,第一个就是将每部分碎片单独做成图片,比如这个

http://tieba.baidu.com/p/2053275362   好处是处理比较方便,可以使用GUI处理,缺点是每个图片都需要前期处理,而且由于前期分片的份数固定,游戏难度不能随意调整,除非每个图都准备很多不同难度的分割后的小图。

第二是使用NGUI中的Atlas,对图集中的sprite信息进行重定义。具体参考小夭的程序。其中用到了UISprite类中的outer结构体,outer记录了sprite在图集中的位置信息。但是在NGUI3.6版本中outer已经不是UISprite的成员变量,是否还能用文中的方法进行修改没有尝试,如果有人尝试请留言告知,在此谢过。

第三是在材质球中设置纹理偏移和缩放,具体做法参考上面笃栋神探的帖子。本人也是用的此种方法。

第二和第三种实现方法的好处是可以随意调整图片分成的份数,因此可以很方便的调整游戏难度。


碎片显示部分就这么多内容,下面是碎片打乱算法。

(待续……)