0

如果我在它的中心缩放一个精灵,然后尝试围绕它的中心旋转它,旋转不会围绕它的中心发生。

如果你需要旋转,例如一个缩放的球,它的工作方式是在 顶部设置缩放中心,左(0,0)设置你想要的比例,然后将旋转中心设置为中间缩放精灵,然后应用旋转修改器。

blaBloBliSprite.setScaleCenter(0, 0);
blaBloBliSprite.setScale(0.667f);
blaBloBliSprite.setPosition(557, CAMERA_HEIGHT / 2 - blaBloBliSprite.getHeightScaled() / 2);
blaBloBliSprite.setRotationCenter(blaBloBliSprite.getWidthScaled() / 2,
blaBloBliSprite.getHeightScaled() / 2);

但我也想在其中心缩放一个精灵。

如何做到这一点?ANDengine的anchor分支会解决吗??

4

1 回答 1

0

我认为诀窍在于 setScaleCenter 没有按您期望的方式工作。如果将其设置为 0,0,它将在左上角缩放,即使在锚点中心也是如此。

尝试使用精灵宽度和高度的 1/2:

blaBloBliSprite.setScaleCenter(blaBloBliSprite.getWidth()/2, blaBloBliSprite.getHeight()/2 );

顺便说一句,切换到锚点中心将解决您的基本问题,因为缩放和旋转中心的默认位置是 Sprite 的中心。但即使在锚点中心 0,0 也是缩放和旋转中心的左上角。默认情况下它只是定位到中间。

于 2013-04-26T17:09:58.700 回答