cocos2dx之CCSpriteFrameCache

_Proxy發表於2020-04-07

顧名思義,這裡快取的是精靈框幀CCSpriteFrame,它主要服務於多張碎圖合併出來的紋理圖片。這種紋理在一張大圖中包含了多張小圖,直接通過CCTextureCache引用會有諸多不便,因而衍生出來精靈框幀的處理方式,即把擷取好的紋理資訊儲存在一個精靈框幀內,精靈通過切換不同的框幀來顯示出不同的圖案。


CCSpriteFrameCache的常用介面和CCTextureCache類似,不再贅述了,唯一需要注意的是新增精靈幀的配套檔案-- 一個plist檔案和一張大的紋理圖。下面列舉了CCSpriteFrame Cache常用的方法:


    /** Returns the shared instance of the Sprite Frame cache */
    static CCSpriteFrameCache* sharedSpriteFrameCache(void);

    /** Adds multiple Sprite Frames from a plist file.
     * A texture will be loaded automatically. The texture name will composed by replacing the .plist suffix with .png
     * If you want to use another texture, you should use the addSpriteFramesWithFile:texture method.
     */
    void addSpriteFramesWithFile(const char *pszPlist);

    /** Removes unused sprite frames.
     * Sprite Frames that have a retain count of 1 will be deleted.
     * It is convenient to call this method after when starting a new Scene.
     */
    void removeUnusedSpriteFrames(void);


相關文章