创建一个空的精灵
static Sprite* create();
利用图片创建一个精灵static Sprite* create(const std::string& filename);
利用图片和裁剪区域创建一个精灵
static Sprite* create(const std::string& filename, const Rect& rect);利用2D纹理创建一个精灵
static Sprite* createWithTexture(Texture2D *texture);
利用2D纹理,裁剪区域,是否旋转 创建精灵
static Sprite* createWithTexture(Texture2D *texture, const Rect& rect, bool rotated=false);利用精灵帧创建精灵
static Sprite* createWithSpriteFrame(SpriteFrame *spriteFrame);
利用精灵帧名字创建精灵
static Sprite* createWithSpriteFrameName(const std::string& spriteFrameName);
更新四个值:position(x,y), rotation, scale
virtual void updateTransform();
获得精灵批处理节点
virtual SpriteBatchNode* getBatchNode() const;
获得精灵批处理节点 不推荐
virtual void setBatchNode(SpriteBatchNode *spriteBatchNode);
给精灵设置一个新的纹理 参数为 图片或者纹理
virtual void setTexture(const std::string &filename );virtual void setTexture(Texture2D *texture) override;
返回精灵的纹理
virtual Texture2D* getTexture() const override;
设置精灵纹理裁剪区域
virtual void setTextureRect(const Rect& rect);virtual void setTextureRect(const Rect& rect, bool rotated, const Size& untrimmedSize);
设置一个新的精灵帧给精灵
virtual void setSpriteFrame(const std::string &spriteFrameName);
virtual void setSpriteFrame(SpriteFrame* newFrame);
返回这个精灵帧是否显示
virtual bool isFrameDisplayed(SpriteFrame *frame) const;
返回当前正在使用的精灵帧
virtual SpriteFrame* getSpriteFrame() const;
//通过动画帧的第frameIndex那一帧来设置显示精灵帧
//动画帧是从CCAnimationCache中读取的
virtual void setDisplayFrameWithAnimationName(const std::string& animationName, ssize_t frameIndex);
返回纹理图片是否旋转
inline bool isTextureRectRotated() const { return _rectRotated; }返回矩形纹理的点
inline const Rect& getTextureRect() const { return _rect; }
返回纹理的偏移值
inline const Vec2& getOffsetPosition() const { return _offsetPosition; }返回是否倾斜
bool isFlippedX() const;
设置是否倾斜
void setFlippedX(bool flippedX);
bool isFlippedY() const;
void setFlippedY(bool flippedY);
设置颜色混合
inline void setBlendFunc(const BlendFunc &blendFunc) override { _blendFunc = blendFunc; }inline const BlendFunc& getBlendFunc() const override { return _blendFunc; }
返回描述
virtual std::string getDescription() const override;virtual void setScaleX(float scaleX) override;
virtual void setScaleY(float scaleY) override;
virtual void setScale(float scaleX, float scaleY) override;
virtual void setPosition(const Vec2& pos) override;
virtual void setPosition(float x, float y) override;
virtual void setRotation(float rotation) override;
virtual void setRotationSkewX(float rotationX) override;
virtual void setRotationSkewY(float rotationY) override;
virtual void setSkewX(float sx) override;
virtual void setSkewY(float sy) override;
virtual void removeChild(Node* child, bool cleanup) override;
virtual void removeAllChildrenWithCleanup(bool cleanup) override;
virtual void reorderChild(Node *child, int zOrder) override;
using Node::addChild;
virtual void addChild(Node *child, int zOrder, int tag) override;
virtual void addChild(Node *child, int zOrder, const std::string &name) override;
virtual void sortAllChildren() override;
virtual void setScale(float scale) override;
virtual void setPositionZ(float positionZ) override;
virtual void setAnchorPoint(const Vec2& anchor) override;
virtual void ignoreAnchorPointForPosition(bool value) override;
virtual void setVisible(bool bVisible) override;
virtual void draw(Renderer *renderer, const Mat4 &transform, uint32_t flags) override;
// 返回更改透明度时是否修改RGB值
virtual bool isOpacityModifyRGB() const override;
virtual bool init();
virtual bool initWithTexture(Texture2D *texture);
virtual bool initWithTexture(Texture2D *texture, const Rect& rect);
virtual bool initWithTexture(Texture2D *texture, const Rect& rect, bool rotated);
virtual bool initWithSpriteFrame(SpriteFrame *spriteFrame);
virtual bool initWithSpriteFrameName(const std::string& spriteFrameName);
virtual bool initWithFile(const std::string& filename);
virtual bool initWithFile(const std::string& filename, const Rect& rect);
void updateColor();
virtual void setTextureCoords(Rect rect);
virtual void updateBlendFunc();
virtual void setReorderChildDirtyRecursively();
virtual void setDirtyRecursively(bool value);