最近看最强大脑第五季,其中是数字华容道和我在高中手机游戏还不多的时候玩的拼图游戏,那时候与同学相互比较,最后都可以在1~2秒内完成游戏,然后就渐渐对这种游戏失去兴趣.现在我对他又突然产生了新的兴趣,就是自己动手把他做出来,前前后后不过两三个小时就完成了.当然时间短促,游戏也不完善,只能算是个Demo,今天拿出来跟大家分享下.
先来看看效果
下面正式开始
1.图片的制作
首先我们需要九张分割好的图片的,我们可以提前准备好九张切好的图,但是这样不但浪费资源,而且不易扩展,所以我的做法是导入一张整图,然后制作九个材质球,利用shader的Tilling和offset实现图片的切分.后面如果提供切换图片的功能,就只用替换材质球里面的图片就好了.
先看下面板
这里简单介绍下在shader里面Tilling和offset参数
offset:指明使用贴图的起始位置,取值范围为0-1,假如位置超过了1,就会对1取余。
如图中,左上角的图片起始位置就是图中橙色的点,以整张图片为左下角为(0,0)点,所以橙色点的offset为(0,0.66666)。
其余的分别为(0.333,0.666)(0.666,0.666)(0,0.333)(0.333,0.333)(0.666,0.333)
最底下的一排大家很容易就可以推出来了,这里留给大家自己填充
tiling:指明从offset位置处的大小区域,区域的取值范围一般为(-1,1),超过的话部分会按比例生成新的区域拼接上原先的
因为每一个小图都占大图1/3,所以tiling都是(0.333,0.333)。
主要代码
因为游戏并