加载plist播放特效

来源:互联网 发布:商业书籍 知乎 编辑:程序博客网 时间:2024/06/05 16:39

代码copy了http://blog.csdn.net/fengqiaoyebo2008/article/details/8712270

{CCSize size = CCDirector::sharedDirector()->getWinSize();  //获得屏幕的尺寸  CCArray* pArray = CCArray::createWithCapacity(12);  CCSpriteFrameCache* pCache = CCSpriteFrameCache::sharedSpriteFrameCache();  //获得SpriteFrame的缓存  pCache->addSpriteFramesWithFile("effect/fight_effect_10008.plist");  CCSprite* pSprite = CCSprite::createWithSpriteFrameName("fight_effect_10008/01.png");  //用attack.png中的第一张图片创建一个精灵  pSprite->setPosition(ccp(size.width/2,size.height/2));  //设置精灵的坐标  char name[64];  for(int i=0; i<12; i++)  //将plist中的图片都加载,放到array中  {  sprintf(name, "fight_effect_10008/%02d.png", i + 1); CCLog("name:%s", name);CCSpriteFrame* pframe = pCache->spriteFrameByName(name);  pArray->addObject(pframe);  }   CCAnimation* pAnimation = CCAnimation::createWithSpriteFrames(pArray,0.2f);  //用array中的spriteframe创建一个animation,每帧间隔0.2s  CCAnimate* panimate = CCAnimate::create(pAnimation);    //pSprite->runAction(CCRepeatForever::create(panimate));  pSprite->runAction(panimate);  this->addChild(pSprite, 0);}
注意几个问题:

1,createWithSpriteFrameName用的是plist中的key。

2,char name[]的长度,以及拼接后名字是否存在,所以i+1

3,pArray的长度12


plist文件及图片下载:http://download.csdn.net/detail/hbuxiaoshe/8740183

plist文件结构(来自某个游戏apk):

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0">    <dict>        <key>frames</key>        <dict>            <key>fight_effect_10008/01.png</key>            <dict>                <key>frame</key>                <string>{{200,2},{52,29}}</string>                <key>offset</key>                <string>{-1,-1}</string>                <key>rotated</key>                <false/>                <key>sourceColorRect</key>                <string>{{22,14},{52,29}}</string>                <key>sourceSize</key>                <string>{98,55}</string>            </dict>            <key>fight_effect_10008/02.png</key>            <dict>                <key>frame</key>                <string>{{2,2},{98,55}}</string>                <key>offset</key>                <string>{0,0}</string>                <key>rotated</key>                <false/>                <key>sourceColorRect</key>                <string>{{0,0},{98,55}}</string>                <key>sourceSize</key>                <string>{98,55}</string>            </dict>            <key>fight_effect_10008/03.png</key>            <dict>                <key>frame</key>                <string>{{190,315},{80,45}}</string>                <key>offset</key>                <string>{0,-1}</string>                <key>rotated</key>                <true/>                <key>sourceColorRect</key>                <string>{{9,6},{80,45}}</string>                <key>sourceSize</key>                <string>{98,55}</string>            </dict>            <key>fight_effect_10008/04.png</key>            <dict>                <key>frame</key>                <string>{{102,2},{96,53}}</string>                <key>offset</key>                <string>{1,-1}</string>                <key>rotated</key>                <false/>                <key>sourceColorRect</key>                <string>{{2,2},{96,53}}</string>                <key>sourceSize</key>                <string>{98,55}</string>            </dict>            <key>fight_effect_10008/05.png</key>            <dict>                <key>frame</key>                <string>{{2,271},{84,47}}</string>                <key>offset</key>                <string>{1,-1}</string>                <key>rotated</key>                <false/>                <key>sourceColorRect</key>                <string>{{8,5},{84,47}}</string>                <key>sourceSize</key>                <string>{98,55}</string>            </dict>            <key>fight_effect_10008/06.png</key>            <dict>                <key>frame</key>                <string>{{190,221},{92,51}}</string>                <key>offset</key>                <string>{1,-1}</string>                <key>rotated</key>                <true/>                <key>sourceColorRect</key>                <string>{{4,3},{92,51}}</string>                <key>sourceSize</key>                <string>{98,55}</string>            </dict>            <key>fight_effect_10008/07.png</key>            <dict>                <key>frame</key>                <string>{{2,218},{92,51}}</string>                <key>offset</key>                <string>{1,-1}</string>                <key>rotated</key>                <false/>                <key>sourceColorRect</key>                <string>{{4,3},{92,51}}</string>                <key>sourceSize</key>                <string>{98,55}</string>            </dict>            <key>fight_effect_10008/08.png</key>            <dict>                <key>frame</key>                <string>{{96,216},{92,51}}</string>                <key>offset</key>                <string>{1,-1}</string>                <key>rotated</key>                <false/>                <key>sourceColorRect</key>                <string>{{4,3},{92,51}}</string>                <key>sourceSize</key>                <string>{98,55}</string>            </dict>            <key>fight_effect_10008/09.png</key>            <dict>                <key>frame</key>                <string>{{2,165},{92,51}}</string>                <key>offset</key>                <string>{1,-1}</string>                <key>rotated</key>                <false/>                <key>sourceColorRect</key>                <string>{{4,3},{92,51}}</string>                <key>sourceSize</key>                <string>{98,55}</string>            </dict>            <key>fight_effect_10008/10.png</key>            <dict>                <key>frame</key>                <string>{{96,163},{92,51}}</string>                <key>offset</key>                <string>{1,-1}</string>                <key>rotated</key>                <false/>                <key>sourceColorRect</key>                <string>{{4,3},{92,51}}</string>                <key>sourceSize</key>                <string>{98,55}</string>            </dict>            <key>fight_effect_10008/11.png</key>            <dict>                <key>frame</key>                <string>{{190,127},{92,51}}</string>                <key>offset</key>                <string>{1,-1}</string>                <key>rotated</key>                <true/>                <key>sourceColorRect</key>                <string>{{4,3},{92,51}}</string>                <key>sourceSize</key>                <string>{98,55}</string>            </dict>            <key>fight_effect_10008/12.png</key>            <dict>                <key>frame</key>                <string>{{2,112},{92,51}}</string>                <key>offset</key>                <string>{1,-1}</string>                <key>rotated</key>                <false/>                <key>sourceColorRect</key>                <string>{{4,3},{92,51}}</string>                <key>sourceSize</key>                <string>{98,55}</string>            </dict>            <key>fight_effect_10008/13.png</key>            <dict>                <key>frame</key>                <string>{{96,110},{92,51}}</string>                <key>offset</key>                <string>{1,-1}</string>                <key>rotated</key>                <false/>                <key>sourceColorRect</key>                <string>{{4,3},{92,51}}</string>                <key>sourceSize</key>                <string>{98,55}</string>            </dict>            <key>fight_effect_10008/14.png</key>            <dict>                <key>frame</key>                <string>{{96,269},{92,49}}</string>                <key>offset</key>                <string>{1,-1}</string>                <key>rotated</key>                <false/>                <key>sourceColorRect</key>                <string>{{4,4},{92,49}}</string>                <key>sourceSize</key>                <string>{98,55}</string>            </dict>            <key>fight_effect_10008/15.png</key>            <dict>                <key>frame</key>                <string>{{2,59},{92,51}}</string>                <key>offset</key>                <string>{1,-1}</string>                <key>rotated</key>                <false/>                <key>sourceColorRect</key>                <string>{{4,3},{92,51}}</string>                <key>sourceSize</key>                <string>{98,55}</string>            </dict>            <key>fight_effect_10008/16.png</key>            <dict>                <key>frame</key>                <string>{{102,57},{92,51}}</string>                <key>offset</key>                <string>{1,-1}</string>                <key>rotated</key>                <false/>                <key>sourceColorRect</key>                <string>{{4,3},{92,51}}</string>                <key>sourceSize</key>                <string>{98,55}</string>            </dict>            <key>fight_effect_10008/17.png</key>            <dict>                <key>frame</key>                <string>{{200,33},{92,51}}</string>                <key>offset</key>                <string>{1,-1}</string>                <key>rotated</key>                <true/>                <key>sourceColorRect</key>                <string>{{4,3},{92,51}}</string>                <key>sourceSize</key>                <string>{98,55}</string>            </dict>        </dict>        <key>metadata</key>        <dict>            <key>format</key>            <integer>2</integer>            <key>realTextureFileName</key>            <string>fight_effect_10008.png</string>            <key>size</key>            <string>{256,512}</string>            <key>smartupdate</key>            <string>$TexturePacker:SmartUpdate:45827330fc838aa233ae5d670f1b68cd$</string>            <key>textureFileName</key>            <string>fight_effect_10008.png</string>        </dict>    </dict></plist>


0 0
原创粉丝点击