cocos2dX 番外篇之CCSpriteBatchNode

来源:未知 责任编辑:责任编辑 发表时间:2015-01-01 13:14 点击:

嗯, 今天我们没事干, 闲的蛋疼, 干脆我们创建精灵玩玩吧, 我随手一打, 我去, 出了一万个精灵, 感觉我就是万能的上帝啊, 一万个大笑( 旁白: 请不要放弃治疗好么), 嘿嘿, 看看一万个精灵是啥样:

\

看起来很不错啊( 旁白: 等等, 那个帧数怎么下降这么多啊), 额, 竟然被妹纸看出来了, 好吧, 我们进入今天的课程CCSpriteBatchNode


<喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+1NrTzs+3tcTEs9K7yrG/zCwgztLDx7/JxNy74bTzwb+1xLvm1sbEs9K7uPa+q8HpKCCxyMjnt6Kz9rXE19O1rywgy9G8r7XE0MfQx9auwOApLCDO0sPHtrzKx8q508PNrNK71cXOxsDtzbzGrLS0vai1xCwgyOe5+9K71cXSu9XFtcS9+NDQ5NbIviwg1eK49tCnwsrO0r7N1rvE3LrHusfByywgy/nS1Nahyv2yu7/JsdzD4rXEvs29tbXNwcssILb4x9LDv9K7tM62vLvhvavNvM/xzsbA7bzT1Ni1vcTatOYoILbU09q809TYtb3E2rTmLCDT0MXz09HLtb/J0tTWsb3T1Nq8xsr9tcTKsbryJiM0MzsxLCC/ydLUsaPWpLK7sbvKzbfFLCDV4srHuPayu7TttcTW99LiLCC1q8rHztLDx73xzOzW99Kqyse9skNDU3ByaXRlQmF0Y2hOb2RlLCDV4rj2u+HB9LW91+6687XE"高级篇"里面讲解), 在游戏中最直观的效果就是卡顿, 为了解决这个问题, cocos2dX为我们引进了CCSpriteBatchNode, 我们就来看看CCSpriteBatchNode有什么神奇的地方吧


对了, 关于左下角的三行数字我解释一下:

第一行: 当前场景的渲染批次, 简单的可以理解为当前场景绘制了多少个精灵

第二行: 渲染每一帧消耗的时间

第三行: FPS, 每秒绘制的帧数


渲染批次越小, 游戏越流畅, FPS越小, 游戏越卡顿


可以在AppDelegate.cpp里面设置显示/隐藏

\

测试的时候都建议打开, 发布时候隐藏就行


先看看用法:

CCSpriteBatchNode* batchNode = CCSpriteBatchNode::create( 图片文件, 默认子节点数);


撸个代码先:

	//创建批次渲染对象, 并添加到当前图层
	CCSpriteBatchNode* batchNode = CCSpriteBatchNode::create( "CloseSelected.png", 10000);
	addChild( batchNode);

	for ( int i = 0; i < 10000; ++i)
	{
		CCSprite* sprite = CCSprite::createWithTexture( batchNode->getTexture());	//从CCSPriteBatchNode里面获取纹理用来创建精灵
		sprite->setPosition( ccp( CCRANDOM_0_1() * 480, CCRANDOM_0_1() * 320));		//取随机坐标CCRANDOM_0_1代表随机生成0~1之间的数字
		batchNode->addChild( sprite);		//添加到CCSpriteBatchNode
	}

\


看看, 我们是不是指渲染了一个对象, 帧率也跑起来了, 游戏也不卡了, 吃嘛嘛香, 身体倍棒( 旁白: 你今天是不是抽风了啊)



嗯, 这个, 今天的就讲完了, 不过还有几点要注意:

CCSpriteBatchNode在创建的时候默认的子节点数是29, 但是数量不够的时候会自己增加

使用CCSpriteBatchNode的时候只能使用同一张纹理贴图

使用CCSpriteBatchNode的时候不能指定zOrder, 就是不能指定谁在前谁在后



发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x学习(一):HelloWorld
  • cocos2dx在xcode下开发,编译到android上(2)
  • cocos2d 设置屏幕默认方向
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1