cocos2dx 实现gallery (一)

来源:互联网 发布:java的安装步骤 编辑:程序博客网 时间:2024/05/08 19:30

        需要实现一个gallery 。 


        首先,最容易想到的,自然是让美工,摆个位置,大小,然后程序记录下来,每次移动的时候,后面一个节点移动到前一个节点的位置,然后再设置成前一个节点的scale和zOrder。

        这么做,可以解决一些问题。比如这个。这样的gallery,只能一次动一格,因为他是直接把节点设置到前一个节点的位置去。如果你想要图随手走,就比较蛋疼了。因为每个节点直接的间距不一样,第一个个节点移动一半,第二个节点该移动多少?后面的节点怎么控制,怎么在2个E点相互遮挡的时候正确的设置zorder?怎么让这个过程看起来很真实,不突兀?要完成这个要求,需要控制的变量太多,而且不直观,也不好理清逻辑。


        再想上面的问题,不好处理的地方是因为每个节点直接的距离不同,不方便处理中间状态。如果把每个节点的距离处理成一样呢?这样确实比较 计算和处理,但是最后出来的效果可能和美工期望的效果不一样的问题。


        再沿着上面,如果有一个通用的公式,来处理这一系列问题,就简单的多了。


        然后,祭出终极方案 —— 用3D模拟,(虽然我是一个一直做2D完全不懂3D的渣渣,但是尼玛空间几何是高中的课程啊,我觉得简单的应该还是问题不大的。。。)

        先看我们要实现的效果,应该是在3D空间内,有一个圆,圆周放置了很多矩形,我们从某一个点去看这些矩形

        正面看上去应该是这样的

        

        从顶面向下俯视应该是这样的,红色的表示是我们眼睛的方向

        

        从侧面看应该是这样的

        


        如果没记错的话,这个图的表示方法是工程制图里面的三视图,因为我实在是画不出来3D的啊。。。。


        先把需求搞清楚了,然后我们来实现这个东西。

0 0
原创粉丝点击