您的位置:首页 > 移动开发 > Cocos引擎

cocos2dx创建精灵的方法

2014-06-25 17:29 302 查看
最近新学cocos2dx,学习了几种创建精灵的方法。

方法一:直接创建精灵

//适合于要显示的是这张图片的全部区域,
CCSprite * sprite = CCSprite::create("sprite.png");
//上面那句话也可以根据需要这样来写:
//CCString* fileName = CCString::createWithFormat("sprite%d.jpg", flag);
//CCSprite* sprite = CCSprite::create(fileName->getCString());
sprite->setPosition(ccp(100, 100));
this->addChild(sprite);


方法二:使用矩形边界,用于显示精灵的某部分

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


方法三:使用帧缓存来显示(.plist图片配置文件)

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


方法四:利用另外一帧生成一个精灵对象,适合于做帧动画使用

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


方法五:利用纹理,适合于需要频繁使用的图片

CCSpriteBatchNode* spriteTexture = CCSpriteBatchNode::create("sprite.png");
spriteTexture->setPosition(CCPointZero);
addChild(spriteTexture);
CCSprite* sprite = CCSprite::createWithTexture(spriteTexture->getTexture());
sprite->setPosition(ccp(visiblesize.width/2, 100));
spriteTexture->addChild(sprite, 2);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: