CCSprite

为什么采用"CC_CONSTRUCTOR_ACCESS:"代码导致在用CCSprite是报错,说不可访问:
CC_CONSTRUCTOR_ACCESS:

Sprite(void);
virtual ~Sprite(void);

/* Initializes an empty sprite with nothing init. */
virtual bool init(void);

/**
 * Initializes a sprite with a texture.
 *
 * After initialization, the rect used will be the size of the texture, and the offset will be (0,0).
 *
 * @param   texture    A pointer to an existing Texture2D object.
 *                      You can use a Texture2D object for many sprites.
 * @return  true if the sprite is initialized properly, false otherwise.
 */
virtual bool initWithTexture(Texture2D *texture);

/**
 * Initializes a sprite with a texture and a rect.
 *
 * After initialization, the offset will be (0,0).
 *
 * @param   texture    A pointer to an exisiting Texture2D object.
 *                      You can use a Texture2D object for many sprites.
 * @param   rect        Only the contents inside rect of this texture will be applied for this sprite.
 * @return  true if the sprite is initialized properly, false otherwise.
 */
virtual bool initWithTexture(Texture2D *texture, const Rect& rect);

/**
 * Initializes a sprite with a texture and a rect in points, optionally rotated.
 *
 * After initialization, the offset will be (0,0).
 * @note    This is the designated initializer.
 *
 * @param   texture    A Texture2D object whose texture will be applied to this sprite.
 * @param   rect        A rectangle assigned the contents of texture.
 * @param   rotated     Whether or not the texture rectangle is rotated.
 * @return  true if the sprite is initialized properly, false otherwise.
 */
virtual bool initWithTexture(Texture2D *texture, const Rect& rect, bool rotated);

/**
 * Initializes a sprite with an SpriteFrame. The texture and rect in SpriteFrame will be applied on this sprite
 *
 * @param   pSpriteFrame  A SpriteFrame object. It should includes a valid texture and a rect
 * @return  true if the sprite is initialized properly, false otherwise.
 */
virtual bool initWithSpriteFrame(SpriteFrame *pSpriteFrame);

/**
 * Initializes a sprite with an sprite frame name.
 *
 * A SpriteFrame will be fetched from the SpriteFrameCache by name.
 * If the SpriteFrame doesn't exist it will raise an exception.
 *
 * @param   spriteFrameName  A key string that can fected a volid SpriteFrame from SpriteFrameCache
 * @return  true if the sprite is initialized properly, false otherwise.
 */
virtual bool initWithSpriteFrameName(const std::string& spriteFrameName);

/**
 * Initializes a sprite with an image filename.
 *
 * This method will find filename from local file system, load its content to Texture2D,
 * then use Texture2D to create a sprite.
 * After initialization, the rect used will be the size of the image. The offset will be (0,0).
 *
 * @param   filename The path to an image file in local file system
 * @return  true if the sprite is initialized properly, false otherwise.
 * @js      init
 * @lua     init
 */
virtual bool initWithFile(const std::string& filename);

/**
 * Initializes a sprite with an image filename, and a rect.
 *
 * This method will find filename from local file system, load its content to Texture2D,
 * then use Texture2D to create a sprite.
 * After initialization, the offset will be (0,0).
 *
 * @param   filename The path to an image file in local file system.
 * @param   rect        The rectangle assigned the content area from texture.
 * @return  true if the sprite is initialized properly, false otherwise.
 * @js      init
 * @lua     init
 */
virtual bool initWithFile(const std::string& filename, const Rect& rect);

CC_CONSTRUCTOR_ACCESS 的本质是protect, 楼主是不是在外部调用它了。