首页 > 编程语言 >cocos2dx之利用CCSpriteBatchNode创建多个Sprite

cocos2dx之利用CCSpriteBatchNode创建多个Sprite

时间:2023-08-25 15:07:47浏览次数:34  
标签:cocos2dx Sprite 渲染 point batch CCSpriteBatchNode 2.0 size


相关技术文档,我们在渲染一个图片的时候经常都是一次渲染一个,如果图片资源很多的话,自然降低了效率,这个时候,我们想,要是能一次渲染完毕,以后要再创建的时候,就不需要再渲染就好了,刚好提供了一个类:CCSpriteBatchNode,一次渲染多个,具体看如下代码:

void MyBathNodeLayer::initLayer() {
	CCSize size = CCDirector::sharedDirector()->getWinSize();
	CCSpriteBatchNode *batch = CCSpriteBatchNode::create("flower.jpg", 50);//50表示一次渲染个数
	this->addChild(batch, 1, 10);//表示tag
	addNewFlower(ccp(size.width / 2.0f, size.height / 2.0f));
}

void MyBathNodeLayer::addNewFlower(CCPoint point) {
	CCSpriteBatchNode *batch = (CCSpriteBatchNode *)(this->getChildByTag(10));
	CCSprite *sprite = CCSprite::createWithTexture(batch->getTexture());
	sprite->setPosition(ccp(point.x / 2.0f, point.y / 2.0f));
	batch->addChild(sprite, 1);
}

 

一次性渲染50个图片完毕!


注意:

资源包的图进行加载到精灵帧缓存中,一旦加载过后,你就可以任意使用了

标签:cocos2dx,Sprite,渲染,point,batch,CCSpriteBatchNode,2.0,size
From: https://blog.51cto.com/u_13566975/7230888

相关文章

  • cocos2dx之CCLayerMultiplex
    刚开始接触这个东西,弄了好久都没有弄好,我自己太笨了,现在我将如何创建一个CCLayerMultiplex过程写出来,代码如下:CCLayer*mainLayer=newMenuDemo;CCLayer*menu1=newMenuDemoItem1;CCLayer*menu2=newMenuDemoItem2;CCLayer*menu3=newMenuDemoItem3;......
  • cocos2dx 之如何创建label 做计分板
    首先创建label:gameScoreLabel=CCLabelTTF::create("0","Arial",30);gameScoreLabel->setColor(ccRED);gameScoreLabel->retain();gameScoreLabel->setPosition(ccp(s.width/6,s.height/6));this->addChild(gameS......
  • cocos2dx之播放音乐
    在游戏时,背景音乐应该说是必不可少的,但是在cocos2dx中如何播放音乐呢,我们看如下代码:CCSize>>如果用stop的话,那么我得再重新playmusic了!关于背景音乐,cocos2dx在不同平台下支持的格式:Android:mp3,wav,3gpIos:mp3,cafWin32:MID,WAV关于音效,cocos2dx在不......
  • Unity png形式的图集拆除子图并把新的子png转换成sprite
    ///<summary>///图集形式为.png形式并在unity中有很多sprite的子图///</summary>privatevoidAtlasSplit(){stringguidStr=Selection.assetGUIDs[0];stringpath=AssetDatabase.GUIDToAssetPath(guidStr);Object......
  • Sprite padding, innerUV, outerUV的解释
    1)Rectrect;SpriteMode为Single时:x,y总是为0;width,height为裁掉空白像素前的大小2)Vector2textureRectOffset;左下角裁掉了多少空白像素3)RecttextureRect;x,y为Sprite左下角的坐标(图集左下角为原点);width,height为裁掉空白像素后的大小4)Vector4paddin......
  • CSS Sprites + 圆角
    初步介绍当然,我知道现在有成千上万个关于用CSS处理圆角的教程,但不管怎么说,我仍然想把这篇文章展示给您。也希望您会发现这篇文章会非常有用。需要重点指出的是,这篇教程彻底地应用高级CSS技术,但是,我会尽力使初学者看起来简单。CSS3在这里还没有得到完全的应用,所以,知道现在,我会保......
  • [SpriteKit] 制作瓦片地图小游戏
    概述SpriteKit制作瓦片地图游戏,深入了解2D游戏制作过程说实话这个2D游戏实战的入门看的我脑浆子都沸腾了,好多新的概念涌入,没做过游戏开发的我表示真的难以接受,吸收效率与之前相比也下降好多,不过越往后学,就能够加深对之前知识的掌握,这可能也是看书的好处吧......
  • [SpriteKit] 系统框架中Cocos2d-x制作小游戏ZombieConga
    概述使用SpriteKit实现一个简单的游戏,通过一个游戏来进行SpriteKit的入门,熟练2D游戏的API,也可以更好的结合在iOS应用中.详细今天我们进入一个全新的系列,先熟悉SpriteKit,然后再看实战的游戏案例。一、了解SpriteKit本期的内容就是使用SpriteKit实现一个简单的游......
  • 使用Graphics.Blit更改Sprite的颜色
    原理:利用publicstaticvoidBlit(Texturesource,Materialmat,intpass=-1);的mat参数:对材质的着色器进行后处理,来达到更改颜色的效果。使用:需要更改qunzi_2的颜色,更改颜色为随机,只需要提供sprite和材质球即可,效果如下:C#代码:#region更换Sprite的颜色publ......
  • 【Cocos2d游戏开发之九】CCSpriteBatchNode与"pvr.ccz","plist"精灵优化及注意事项
     首先对于使用过精灵的童鞋很熟悉CCSpriteBatchNode,至少大家都会知道它能优化精灵,但是至于优化原理这里简单说下:      一般使用精灵CCSprite的时候,都是直接使用[CCLayer*addChild:CCSprite*];,假设我们创建一百个精灵,那么当前的CCLayer会为100个精灵单独绘制;  ......