Cocos2d-x之CCSprite
15 Nov 2012注:本api基于Cocos2d-x 0.13版本
一、CCSprite 精灵
CCSprite * sprite = CCSprite::spriteWithFile("file"); // spriteWithFile("file", CCRectMake(x, y, width, height)); // spriteWithTexture(texture, CCRectMake(x, y, width, height)); // spriteWithSpriteFrame(frame, CCRectMake(x, y, width, height)); // spriteWithSpriteFrameName("file.png"); sprite->setPosition(ccp(x, y)); // 精灵的位置 sprite->setScaleX(1.0f); // 精灵的缩放 sprite->setColor(ccc3(r, g, b)); // 精灵的颜色 sprite->setAnchorPoint(CCPointZero); // 设置精灵的原点为左下角,默认为中心 sprite->setFlipX(true); // x轴反转 sprite->setFlipY(true); // y轴反转
二、CCSpriteBatchNode 精灵批量节点,由多个精灵组成一张2的平方大小的图片
CCSpriteBatchNode * batch = CCSpriteBatchNode::batchNodeWithFile("file"); // batchNodeWithFile("file", capacity); // CCRectMake(x, y, width, height) 表示从节点中获取某个节点 CCSprite * sprite = CCSprite::spriteWithTexture(batch->getTexture(), CCRectMake(x, y, width, height)); batch->addChild(sprite, 0); batch->reorderChild(sprite, 3); // 重新排序
三、CCSpriteFrameCache 精灵帧缓存
CCSpriteFrameCache * cache = CCSpriteFrameCache::sharedSpriteFrameCache(); cache->addSpriteFramesWithFile("file.plist"); cache->addSpriteFramesWithFile("file.plist", "file.png"); CCSprite * sprite = CCSprite::spriteWithSpriteFrameName("plist中定义的名称"); cache->removeSpriteFramesFromFile("file.plist"); cache->removeUnusedSpriteFrames(); // 删除没被使用的资料
四、CCSpriteFrame 精灵帧
CCTexture2D * texture = CCTextureCache::sharedTextureCache()->addImage("file.png"); CCSpriteFrame * frame = CCSpriteFrame::frameWithTexture(texture, CCRectMake(x, y, width, height)); CCSprite * sprite = sprite::spriteWithSpriteFrame(frame);