Cocos2dx之精灵创建

前端之家收集整理的这篇文章主要介绍了Cocos2dx之精灵创建前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

说明版本:

VS2012;

Cocosdx(cocos2d-x-2.2.6);


一、什么是精灵?

在Cocos2dx中,图片的表现形式有多种形态,如果对于纹理来说,是一种图片,只是GPU硬件经行渲染,而精灵正式图片在游戏场景中动态表示的形式,它可能是游戏中的敌人、英雄、树木、石头和武器等等。


二、精灵创建

1. 创建空精灵

<span style="white-space:pre">	</span>CCSprite* sprite = CCSprite::create();
	addChild(sprite);
	sprite->setPosition(ccp(200,200));

2.通过文件路径创建精灵

<span style="white-space:pre">	</span>CCSprite* sprite = CCSprite::create("CloseNormal.png");
        addChild(sprite);
	sprite->setPosition(ccp(200,200));

3.通过纹理来创建精灵

<span style="white-space:pre">	</span>CCTexture2D* texture = CCTextureCache::sharedTextureCache()->addImage("CloseNormal.png") ;
	CCSprite* sprite = CCSprite::createWithTexture(texture);

4.通过精灵帧来创建精灵

<span style="white-space:pre">	</span>CCTexture2D* texture = CCTextureCache::sharedTextureCache()->addImage("CloseNormal.png") ;
<span style="white-space:pre">	</span>CCSpriteFrame* frame = CCSpriteFrame::createWithTexture(texture,CCRect(20,20,20));
<span style="white-space:pre">	</span>CCSprite* sprite = CCSprite::createWithSpriteFrame(frame);

三、精灵优化

CCSprite::createSpriteFrame(const CCSpriteFrame* frame);
SpriteFrame对象抽象的是图片的一部分,将很多小图集中在一个大纹理中,可以减少内存边角料,达到节约内存的目的

CCSprite::createWithTexture(const CCTexture2D* texture);
CCSprite::createWithTexture(const CCTexture2D* texture,const CCRect& rect); 通过纹理来创建精灵,往往纹理保存在纹理缓存中,好处是,多个精灵有相同纹理时,可以节约内存和提高效率

猜你在找的Cocos2d-x相关文章