cocos2dx 实现gallery (四)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/dinko321/article/details/45058751

        之前说到了一个效率问题还没解决。


        这个问题是这样的:

        每个数据,需要一个节点来显示。如果数据项很多,比如几十几百个吧。那就需要几十几百个node,效率上就会很有问题。

        仔细看我们那个gallery,一屏只能显示5个,其他的就被自己前面的node挡住了。我们给这5个节点编号1~5,当滚动的时候,当第六个节点完全出现的时候,第一个节点已经到后面去了,不可见了。马上要显示第八个节点了,我们完全可以把看不见的第一个节点,写上第八个节点的数据,放到第八的位置,如此往复。也就是说我们同时能看见的节点,不会超过7个,用这7个节点填充不同数据反复利用的方法,就可以解决这个问题。


        总结:

        1、需要的节点数量 = 初始化可见节点数 + 1  。  (这是理论上的,推荐+2,效果更平滑)

        2、节点反复利用,填充不同数据



        但是我在具体实现这个问题的时候,并没有采取7个节点的做法,因为按照之前的45度分布,我一共就8个节点。多一个少一个貌似差别不是很大,我直接偷懒把这个节点忽略了。然后我就只是刷新了他的数据,没有控制节点了。



        PS:来源于 android的listView相关知识

展开阅读全文

没有更多推荐了,返回首页