cocos2dx-3.0以上版本之 创建Sprite精灵的6种形式

直接上代码

Size size=Director::getInstance()->getWinSize();

//常见的一种形式
Sprite* sp=Sprite::create("HelloWorld.png");
sp->setPosition(size.width/2,size.height/2);

//截图的形式
Rect r=Rect(0,160,120);
auto sp1=Sprite::create("Blowfish0.png",r);
sp1->setPosition(size.width/2,size.height/2);

//纹理的方式创建
Texture2D* text=Director::getInstance()->getTextureCache()->addImage("Cn16.png");
auto sp2=Sprite::createWithTexture(text);
sp2->setPosition(size.width/2+100,size.height/2);

//纹理和截图结合使用
Texture2D* text2=Director::getInstance()->getTextureCache()->addImage("Blowfish0.png");
auto sp3=Sprite::createWithTexture(text2,r,false);
sp3->setPosition(size.width/2+100,size.height/2-50);

//利用.plist文件创建并且用到了帧缓存
SpriteFrameCache::getInstance()->addSpriteFramesWithFile("Blowfish0.plist");

//"Fish08/normal/actor_fish_hetun02_normal_001.png" 是.plist下组成图的key,就像map的键值模式一样 这里取的是值
auto frame=SpriteFrameCache::getInstance()->getSpriteFrameByName("Fish08/normal/actor_fish_hetun02_normal_001.png");

auto sp4=Sprite::createWithSpriteFrame(frame);
sp4->setPosition(size.width/2+100,size.height/2-100);

// 利用.plist文件创建,直接使用.plist中组成图的key的值
SpriteFrameCache::getInstance()->addSpriteFramesWithFile("Blowfish0.plist");
auto sp5=Sprite::createWithSpriteFrameName("Fish08/normal/actor_fish_hetun02_normal_002.png");
sp5->setPosition(size.width/2+100,size.height/2-200);

资源文件自己寻找合适的添加进去就行了,贴上此.plist文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>frames</key>
<dict>
<key>Fish08/normal/actor_fish_hetun02_normal_001.png</key>
<dict>
<key>height</key>
<integer>120</integer>
<key>offsetX</key>
<real>0.0</real>
<key>offsetY</key>
<real>0.0</real>
<key>originalHeight</key>
<integer>120</integer>
<key>originalWidth</key>
<integer>160</integer>
<key>width</key>
<integer>160</integer>
<key>x</key>
<integer>0</integer>
<key>y</key>
<integer>0</integer>
</dict>
<key>Fish08/normal/actor_fish_hetun02_normal_002.png</key> <dict> <key>height</key> <integer>120</integer> <key>offsetX</key> <real>0.0</real> <key>offsetY</key> <real>0.0</real> <key>originalHeight</key> <integer>120</integer> <key>originalWidth</key> <integer>160</integer> <key>width</key> <integer>160</integer> <key>x</key> <integer>0</integer> <key>y</key> <integer>122</integer> </dict> <key>Fish08/normal/actor_fish_hetun02_normal_003.png</key> <dict> <key>height</key> <integer>120</integer> <key>offsetX</key> <real>0.0</real> <key>offsetY</key> <real>0.0</real> <key>originalHeight</key> <integer>120</integer> <key>originalWidth</key> <integer>160</integer> <key>width</key> <integer>160</integer> <key>x</key> <integer>162</integer> <key>y</key> <integer>0</integer> </dict> <key>Fish08/normal/actor_fish_hetun02_normal_004.png</key> <dict> <key>height</key> <integer>120</integer> <key>offsetX</key> <real>0.0</real> <key>offsetY</key> <real>0.0</real> <key>originalHeight</key> <integer>120</integer> <key>originalWidth</key> <integer>160</integer> <key>width</key> <integer>160</integer> <key>x</key> <integer>162</integer> <key>y</key> <integer>122</integer> </dict> <key>Fish08/normal/actor_fish_hetun02_normal_005.png</key> <dict> <key>height</key> <integer>120</integer> <key>offsetX</key> <real>0.0</real> <key>offsetY</key> <real>0.0</real> <key>originalHeight</key> <integer>120</integer> <key>originalWidth</key> <integer>160</integer> <key>width</key> <integer>160</integer> <key>x</key> <integer>324</integer> <key>y</key> <integer>0</integer> </dict> <key>Fish08/normal/actor_fish_hetun02_normal_006.png</key> <dict> <key>height</key> <integer>120</integer> <key>offsetX</key> <real>0.0</real> <key>offsetY</key> <real>0.0</real> <key>originalHeight</key> <integer>120</integer> <key>originalWidth</key> <integer>160</integer> <key>width</key> <integer>160</integer> <key>x</key> <integer>324</integer> <key>y</key> <integer>122</integer> </dict> <key>Fish08/normal/actor_fish_hetun02_normal_007.png</key> <dict> <key>height</key> <integer>120</integer> <key>offsetX</key> <real>0.0</real> <key>offsetY</key> <real>0.0</real> <key>originalHeight</key> <integer>120</integer> <key>originalWidth</key> <integer>160</integer> <key>width</key> <integer>160</integer> <key>x</key> <integer>0</integer> <key>y</key> <integer>244</integer> </dict> <key>Fish08/normal/actor_fish_hetun02_normal_008.png</key> <dict> <key>height</key> <integer>120</integer> <key>offsetX</key> <real>0.0</real> <key>offsetY</key> <real>0.0</real> <key>originalHeight</key> <integer>120</integer> <key>originalWidth</key> <integer>160</integer> <key>width</key> <integer>160</integer> <key>x</key> <integer>0</integer> <key>y</key> <integer>366</integer> </dict> <key>Fish08/normal/actor_fish_hetun02_normal_009.png</key> <dict> <key>height</key> <integer>120</integer> <key>offsetX</key> <real>0.0</real> <key>offsetY</key> <real>0.0</real> <key>originalHeight</key> <integer>120</integer> <key>originalWidth</key> <integer>160</integer> <key>width</key> <integer>160</integer> <key>x</key> <integer>162</integer> <key>y</key> <integer>244</integer> </dict> <key>Fish08/normal/actor_fish_hetun02_normal_010.png</key> <dict> <key>height</key> <integer>120</integer> <key>offsetX</key> <real>0.0</real> <key>offsetY</key> <real>0.0</real> <key>originalHeight</key> <integer>120</integer> <key>originalWidth</key> <integer>160</integer> <key>width</key> <integer>160</integer> <key>x</key> <integer>162</integer> <key>y</key> <integer>366</integer> </dict> </dict> <key>metadata</key> <dict> <key>format</key> <integer>0</integer> <key>realTextureFileName</key> <string>Blowfish0.png</string> <key>size</key> <string>{512,512}</string> <key>textureFileName</key> <string>Blowfish0.png</string> </dict> <key>texture</key> <dict> <key>height</key> <integer>512</integer> <key>width</key> <integer>512</integer> </dict> </dict> </plist>

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...