Cocos2d-x之CCSpriteFrameCache

配合plist文件加载一张大图片中的某个区域

@.plist@ 格式


<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">


    texture
    
        width
        图片的宽度
        height
        图片的高度
    
    frames
    
        每帧的键值,使用spriteFrameByName获取
        
            x
            X坐标
            y
            Y坐标
            width
            
            height
            
            offsetX
            X坐标偏移
            offsetY
            Y坐标偏移
            originalWidth
            原宽
            originalHeight
            原高
        
    


使用CCSpriteFrameCache载入plist与图片

CCSpriteFrameCache * cache = CCSpriteFrameCache::sharedSpriteFrameCache();

cache->addSpriteFramesWithFile("plist文件", "图片");

CCSprite::spriteWithSpriteFrame(cache->spriteFrameByName("plist中定义的key的键值"));

CCSprite::spriteWithSpriteFrameName("plist中定义的key的键值"); // 直接也可以

// 使用完以后记得清空释放内存
CCSpriteFrameCache::sharedSpriteFrameCache()->removeUnusedSpriteFrames();

// 根据plist清空对应的图片
CCSpriteFrameCache::sharedSpriteFrameCache()->removeSpriteFramesFromFile("plist文件");