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,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/

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值