cocos2dx 3.4 Sprite

创建一个空的精灵

 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 void setOpacityModifyRGB(bool modify) override;
    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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值