Cocos2d-x 创建精灵的五种方法

精灵是cocos2d-x游戏开发中不可或缺的元素,创建方法不尽相同,本文将介绍五种较为实用的方法,让开发者可以简便迅速的完成精灵的“塑造”。

方法一:直接创建精灵

适合于要显示的是这张图片的全部区域,

1
CCSprite * sprite = CCSprite::create("Icon.png");
上面那句话也可以根据需要这样来写:
1
2
3
4
5
CCString* fileName = CCString::createWithFormat("Icon_%d.jpg", flag);
CCSprite* sprite = CCSprite::create(fileName->getCString());
sprite->setPosition(ccp(100, 100));
 
this->addChild(sprite);

方法二:参数 图片名称 矩形区域

适合于需要显示此图片的部分区域

1
2
3
CCSprite * sprite = CCSprite::create("Icon.png",CCRectMake(0, 0, 30, 30));
sprite->setPosition(ccp(100, 100));
this->addChild(sprite);

方法三: 利用帧缓存中的一帧的名称声称一个对象

适合于plist打包好的文件

1
2
3
4
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("test_icon.plist");
CCSprite * sprite = CCSprite::createWithSpriteFrameName("Icon.png");
sprite->setPosition(ccp(100, 100));
this->addChild(sprite);

方法四: 利用另外一帧生成一个精灵对象 

适合于做帧动画使用

1
2
3
4
CCSpriteFrame * frame = CCSpriteFrame::create("Icon.png", CCRectMake(0, 0, 40, 30));
CCSprite * sprite = CCSprite::createWithSpriteFrame(frame);
sprite->setPosition(ccp(310, 150));
addChild(sprite);

方法五:利用纹理

适合于需要频繁使用的图片

1
2
3
4
5
6
CCSpriteBatchNode* spriteTexture = CCSpriteBatchNode::create("iocn.png");
spriteTexture->setPosition(CCPointZero);
addChild(spriteTexture);
CCSprite* sprite = CCSprite::createWithTexture(spriteTexture->getTexture());
sprite->setPosition(ccp(visiblesize.width/2, 100));
spriteTexture->addChild(sprite, 2);
 
posted @ 2015-09-10 16:23  Qiu_L  阅读(1876)  评论(0编辑  收藏  举报