看了3.0的release note,好不容易理解了的SpriteBatchNode
,只要sprite来自一张大图,貌似不用它也可以保持高效率了
。。。。不过这对我自己的架构设想倒是大有好处
,从今往后决定舍弃SpriteBatchNode了
就怕还有什么专门用得到的情形
,有木有?有木有?? 自古楼下出正解
看了3.0的release note,好不容易理解了的SpriteBatchNode
,只要sprite来自一张大图,貌似不用它也可以保持高效率了
。。。。不过这对我自己的架构设想倒是大有好处
,从今往后决定舍弃SpriteBatchNode了
就怕还有什么专门用得到的情形
,有木有?有木有?? 自古楼下出正解
关于Sprite和SpriteBatchNode,发布说明里有详细的描述,可以看:https://github.com/fusijie/Cocos2d-x3.0-Release-Note/blob/master/cocos2d-x_v3.0_release_notes.md#user-content-sprite-和-spritebatchnode
嗯,我就是看到了这个
像以前如果做一个类似植物大战僵尸的游戏,我是打算僵尸类继承一个node,里面包含一个sprite,用的时候把僵尸node加给layer,把僵尸node的sprite加给batchnode,再把batchnode加给layer
现在我的想法是不用batchnode了,把僵尸类的sprite直接加给包含它的僵尸node,用的时候把僵尸node加给layer, 具体效果怎么样还有待考证,不过按照说明二者已经没什么差距了吧?不知道我理解的对不对
没错,我刚刚移植了3.0的飞机大战,移除了SpriteBatchNode,和之前使用CCSpriteBatchNode是一样效果的。
能否给个源码看看
有个问题,用自动Batch的方法的确不错,但是在很大量的时候自动batch降帧比较严重,相反SpriteBatchNode没有这个问题,但是SpriteBatchNode的绘制顶点非常高
举个例子,TMXTildMap里面的Layer继承自BatchNode,我建一个180180的地图,不会卡,如果自己建一个节点,里面放180180个瓦片就会卡,同样是1次绘制。
但是BatchNode有个bug,绘制数量超过一定量位置会重置,好像是第14664个之后又会从头开始绘制,我鼓捣了半天没搞懂哪里的问题,但肯定是SpriteBatchNode的问题。