我已将一个特定大小(200)的位图(png)加载到我的Sprite中,并以100/100为中心进行旋转:
Sprite round = loadSprite(200,200);
round.setPosition(x,y)
旋转round.setRotation()
时,精灵会围绕正确的中心旋转。
现在,我想将Sprite的大小调整为新的大小(400,400),并且仍然希望围绕“中心”旋转(200/200):
round.setBounds(x,y,400,400)
rount.setCenter(200,200);
再次旋转时,它仍然围绕旧的Center 100/100旋转。
如何做到这一点?
答案 0 :(得分:1)
setCenter(x, y)
设置Sprite的位置,使其居中于此位置:
/** Sets the position so that the sprite is centered on (x, y) */
public void setCenter(float x, float y){
...
}
您需要功能setOrigin(originX, originY)
:
/** Sets the origin in relation to the sprite's position for scaling and rotation. */
public void setOrigin (float originX, float originY) {
...
}