在unity做一个3d旋转菜单,像乱斗西游2的这种:
暂时有两种方法可以实现:
一、当做是2d界面,通过定义几个固定点的坐标、大小、透明度,还有每个点的panel depth大小,把数据存储下来,在手机滑动的过程中计算滑动划过的距离和这个panel大小的比值,乘以两个点之间的距离,获得坐标点移动的距离,通过改变x轴改变位置,同理改变大小和透明度。
这个方法我自己做2d游戏的时候实现过,做起来比较简单,没有什么可拓展性可言,并且会有很多限制,比如拖动过程中很难转变方向。要自己实现运动中的弹性(这里可以用一个itween插件来解决运动中弹性的问题)
这里的拖动效果有两个实现方法:1.像上面说的计算每一点来拖动。2.用itween来直接跳转到下一点,但是手指已停止就停止每个按钮的动作。
二、做3d界面,通过改变z轴,把camera移到前上方往菜单上照。还是要定义几个固定的点的坐标,透明度,每个点的panel depth的大小,通过itween来跳转到固定点。
三、使用一个上网找到的资源,http://pan.baidu.com/s/1sjA7XDF,一个选择立体块的小demo。基本已实现需要的功能。
这里我再说一下我改过之后的一些地方
1,原本demo的碰撞体是在屏幕前放一整块平面的