博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
批处理精灵节点
阅读量:4452 次
发布时间:2019-06-07

本文共 1200 字,大约阅读时间需要 4 分钟。

批处理精灵节点<?xml version="1.0" encoding="UTF-8"?>
批处理精灵节点用于精灵数目很多的时候,使用批处理的方式可以降低渲染次数,提高效率,当然,当精灵数目较小的时候是没有必要使用批处理的
bool
T02Layers
::init()
{
       
if
(!
CCLayer
::init())
       {
              
return
false
;
       }
       
CCSize
winSize =
CCDirector
::sharedDirector()->getWinSize();
       
CCPoint
ptCenter =
ccp
(winSize.width / 2, winSize.height / 2);
       
/*
       CCSpriteBatchNode也是一个容器,但是它只能包容CCSprite对象,而且要求这些精灵来自同一个纹理
       */
       
CCSpriteBatchNode
* batch =
CCSpriteBatchNode
::create(
"CloseNormal.png"
);
       addChild(batch);
       _batch = batch;
        
CCSprite
* sprite =
CCSprite
::createWithTexture(batch->getTexture());
       batch->addChild(sprite);
       sprite->setPosition(ptCenter);
       setTouchEnabled(
true
);
       setTouchMode(
kCCTouchesOneByOne
);
       
return
true
;
}
bool
T02Layers
::ccTouchBegan(
CCTouch
*
touch
,
CCEvent
*)
{
       
CCSize
winSize =
CCDirector
::sharedDirector()->getWinSize();
       
for
(
int
i = 0; i < 1000; i++)
        {
              
CCSprite
* sprite =
CCSprite
::createWithTexture(_batch->getTexture());
              _batch->addChild(sprite);
               //
CCRANDOM_0_1
 () 用于产生0到1之间的随机数字,是定义的宏
              sprite->setPosition(
ccp
(
CCRANDOM_0_1
()*winSize.width,
CCRANDOM_0_1
()* winSize.height));
        }
       
return
true
;
}
结果:
261654422433266.png
如果不使用批处理:
261654516659643.png
三行数字,第一行表示精灵的渲染次数 第三行表示1s中帧循环次数也就是刷新次数。

转载于:https://www.cnblogs.com/ZhangJinkun/p/4530999.html

你可能感兴趣的文章
22 广播的发送
查看>>
Linux 创建用户 限制SFTP用户只能访问某个目录
查看>>
正则表达式的学习笔记
查看>>
android图片特效处理之图片叠加
查看>>
结束贪心hdu 2491 Priest John's Busiest Day
查看>>
RHEL7中防火墙firewalld基础使用配置
查看>>
编程漫谈(八):此刻的幸福
查看>>
Python实现Json结构对比的小工具兼谈编程求解问题
查看>>
Java入门之:基本数据类型
查看>>
导航属性
查看>>
指针函数与函数指针
查看>>
Git工作流总结
查看>>
什么时候修改class
查看>>
冒泡与捕获的理解
查看>>
Jira客户端
查看>>
BZOJ1192: [HNOI2006]鬼谷子的钱袋
查看>>
shell之变量字符串的操作
查看>>
centos的网络配置
查看>>
clone git 项目到 非空目录
查看>>
安装php
查看>>