cocos2.2.3中创建精灵对象的三大类方法
1.众生相,皆精灵
2.精灵的类继承关系
class CCSprite : public CCNode, public CCNodeRGBA, public CCTextureProtocol
3.创建精灵的三大类方法
4.代码实现
/** * Creates an empty sprite without texture. You can call setTexture method subsequently. * * @return An empty sprite object that is marked as autoreleased. */ 1.1 static CCSprite* create(); /** * Creates a sprite with an image filename. * * After creation, the rect of sprite will be the size of the image, * and the offset will be (0,0). * * @param pszFileName The string which indicates a path to image file, e.g., "scene1/monster.png". * @return A valid sprite object that is marked as autoreleased. */ 1.2 static CCSprite* create(const char *pszFileName); /** * Creates a sprite with an image filename and a rect. * * @param pszFileName The string wich indicates a path to image file, e.g., "scene1/monster.png" * @param rect Only the contents inside rect of pszFileName's texture will be applied for this sprite. * @return A valid sprite object that is marked as autoreleased. */ 1.3 static CCSprite* create(const char *pszFileName, const CCRect& rect); /** * Creates a sprite with an exsiting texture contained in a CCTexture2D object * After creation, the rect will be the size of the texture, and the offset will be (0,0). * * @param pTexture A pointer to a CCTexture2D object. * @return A valid sprite object that is marked as autoreleased. */ 2.1 static CCSprite* createWithTexture(CCTexture2D *pTexture); /** * Creates a sprite with a texture and a rect. * * After creation, the offset will be (0,0). * * @param pTexture A pointer to an existing CCTexture2D object. * You can use a CCTexture2D object for many sprites. * @param rect Only the contents inside the rect of this texture will be applied for this sprite. * @return A valid sprite object that is marked as autoreleased. */ 2.2 static CCSprite* createWithTexture(CCTexture2D *pTexture, const CCRect& rect); /** * Creates a sprite with an sprite frame. * * @param pSpriteFrame A sprite frame which involves a texture and a rect * @return A valid sprite object that is marked as autoreleased. */ 3.1 static CCSprite* createWithSpriteFrame(CCSpriteFrame *pSpriteFrame); /** * Creates a sprite with an sprite frame name. * * A CCSpriteFrame will be fetched from the CCSpriteFrameCache by pszSpriteFrameName param. * If the CCSpriteFrame doesn't exist it will raise an exception. * * @param pszSpriteFrameName A null terminated string which indicates the sprite frame name. * @return A valid sprite object that is marked as autoreleased. */ 3.2 static CCSprite* createWithSpriteFrameName(const char *pszSpriteFrameName);