CVP认证学习笔记--李天宇018spriteBatchNode使用
SpriteBatchNode是批处理节点,他通过一次opengl调用绘制所有子节点。那么下面我们来看一下怎么来绘制? SpriteBatchNode是一次性绘制,它只有当Sprite使用的纹理与SpriteBatchNode一样时才能添加为其子节点。并且只有sprite的子类或者子类实例化对象才能添加到SpriteBatchNode上。核心代码如下: switch(obj.tag){ case 110: var sprite = new cc.Sprite("res/HelloWorld.png"); this.addChild(sprite); sprite.setPosition(Math.random()*300,Math.random()*300); break; case 120: if(this.sprite==null){ this.sprite = new cc.SpriteBatchNode("res/HelloWorld.png",1); this.addChild(this.sprite); } var sprite2 = new cc.Sprite(this.sprite.texture,cc.rect(0,200,200)); this.sprite.addChild(sprite2); sprite2.setPosition(Math.random()*300,Math.random()*300); break; } 可以看出进行了一次判断,判断this.sprite是否进行了绘制,如果绘制过了,那么就可以把它添加到SpriteBatchNode上,进行多次绘制,从而不会增加节点的个数,实现了绘制效率的提高。 最后附上作业链接: http://www.cocoscvp.com/usercode/2016_04_23/c3737e9c58f8f669aafbc472de5b75844fd499c1/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |