加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2dx 实现gallery (一)

发布时间:2020-12-14 20:45:44 所属栏目:百科 来源:网络整理
导读:需要实现一个gallery 。 首先,最容易想到的,自然是让美工,摆个位置,大小,然后程序记录下来,每次移动的时候,后面一个节点移动到前一个节点的位置,然后再设置成前一个节点的scale和zOrder。 这么做,可以解决一些问题。比如这个。这样的gallery,只能

需要实现一个gallery 。


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

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


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


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


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

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

正面看上去应该是这样的

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

从侧面看应该是这样的


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


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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读