Cocos2dx之精灵创建

本文详细介绍了Cocos2d-x中精灵的概念、创建方式以及优化技巧,包括空精灵创建、通过文件路径创建、通过纹理创建和通过精灵帧创建。同时解释了精灵帧如何帮助节约内存和提高效率。

说明版本:

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, 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);
      通过纹理来创建精灵,往往纹理保存在纹理缓存中,好处是,多个精灵有相同纹理时,可以节约内存和提高效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值