gpt4 book ai didi

c++ - 从侧面而不是中心缩放 CCSprite

转载 作者:搜寻专家 更新时间:2023-10-31 00:42:05 27 4
gpt4 key购买 nike

我正在尝试制作自定义进度条。我想要做的是根据数字的百分比让“barMask.png”具有 X 比例。我试过这样做:

barBack = CCSprite::create( "barBack.png" );
this -> addChild( barBack );

barMask = CCSprite::create( "barMask.png" );
barMask -> setPosition( barBack -> getPosition( ) );
this -> addChild( barMask );

然后是更新方法

// Scale the width of barMask depending on the percentage of the progress.
barMask -> setScaleX( CURRENT_AMOUNT / TOTAL_AMOUNT );

然而, Sprite 是这样缩放的:

Frame 1: [ |||||||||| ]
Frame 2: [ |||||||| ]
Frame 3: [ |||||| ]

它缩小到中间。我该怎么做才能缩小到左/右?像这样:

Frame 1: [ |||||||||| ]
Frame 2: [ ||||||||| ]
Frame 3: [ |||||||| ]
Frame 4: [ ||||||| ]

我知道 CCProgressTimer,但我想为进度条使用纯粹的 sprite。

最佳答案

将 spriet 的 anchorPoint 属性更改为 (0.f, 0.5f)。所有转换都是相对于节点的 anchor 进行的。默认情况下, Sprite 的 anchor 是 (0.5f, 0.5f)。这就是默认情况下您的缩放比例相对于 Sprite 中心的原因。

关于c++ - 从侧面而不是中心缩放 CCSprite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12454665/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com