我正在尝试制作一个自定义的进度条。我想做的是让“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/