CCAnimationCache
#ifndef __CC_ANIMATION_CACHE_H__
#define __CC_ANIMATION_CACHE_H__
#include "cocoa/CCObject.h"
#include "cocoa/CCDictionary.h"
#include <string>
NS_CC_BEGIN
class CCAnimation;
/**
* @addtogroup sprite_nodes
* @{
*/
/** Singleton that manages the Animations.
It saves in a cache the animations. You should use this class if you want to save your animations in a cache.
Before v0.99.5, the recommend way was to save them on the CCSprite. Since v0.99.5, you should use this class instead.
@since v0.99.5
*/
class CC_DLL CCAnimationCache : public CCObject
{
public:
CCAnimationCache();
~CCAnimationCache();
/** Returns the shared instance of the Animation cache */
static CCAnimationCache* sharedAnimationCache(void);
/** Purges the cache. It releases all the CCAnimation objects and the shared instance.
*/
static void purgeSharedAnimationCache(void);
/** Adds a CCAnimation with a name.
*/
void addAnimation(CCAnimation *animation, const char * name);
/** Deletes a CCAnimation from the cache.
*/
void removeAnimationByName(const char* name);
/** Returns a CCAnimation that was previously added.
If the name is not found it will return nil.
You should retain the returned copy if you are going to use it.
*/
CCAnimation* animationByName(const char* name);
/** Adds an animation from an NSDictionary
Make sure that the frames were previously loaded in the CCSpriteFrameCache.
@since v1.1
*/
void addAnimationsWithDictionary(CCDictionary* dictionary);
/** Adds an animation from a plist file.
Make sure that the frames were previously loaded in the CCSpriteFrameCache.
@since v1.1
*/
void addAnimationsWithFile(const char* plist);
bool init(void);
private:
void parseVersion1(CCDictionary* animations);
void parseVersion2(CCDictionary* animations);
private:
CCDictionary* m_pAnimations;
static CCAnimationCache* s_pSharedAnimationCache;
};
// end of sprite_nodes group
/// @}
NS_CC_END
#endif // __CC_ANIMATION_CACHE_H__
浙公网安备 33010602011771号