【问题标题】:COCOS2D-X: scale spriteCOCOS2D-X:比例精灵
【发布时间】:2014-03-12 01:52:26
【问题描述】:

我想按原始图像的高度设置精灵的比例。 然后该精灵的宽度将遵循该图像的原始比例。 我怎样才能做到这一点。 感谢您的所有帮助。

【问题讨论】:

    标签: scale cocos2d-x


    【解决方案1】:

    CCSprite 有一个成员函数

    virtual void setScale(float scale)      
    

    参考:setScale

    只需创建一个精灵,然后调用这个函数。

    CCSprite* bg = CCSprite::create("background.png");
    this->addChild(bg,0);
    bg->setScale(2.0);
    

    bg sprite 将比原始 sprite 大两倍。

    【讨论】:

    • 谢谢,如果这对原始图像有什么影响?我想以高分辨率构建我的资源,然后根据实际设备分辨率缩小它们以节省 RAM。
    【解决方案2】:

    使用 CCSprite 的 setScale 函数,例如 -

    CCSprite *Sprite   =   CCSprite::create(WHEEL_SPRITE);
    Sprite->setScale(DIRECTOR_VISIBLE_HEIGHT*0.65/Sprite->getContentSize().height);
    Sprite->setPosition(ccp(DIRECTOR_VISIBLE_WIDTH/2, DIRECTOR_VISIBLE_HEIGHT/2));
    this->addChild(Sprite);
    

    【讨论】:

    • 能否详细说明第二行?您将 65% 的可见高度除以精灵的高度,但为什么呢?
    【解决方案3】:

    您只能按宽度或高度缩放:sprite->setScaleX() 和 sprite->setScaleY()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多