Как повернуть спрайт после изменения размера спрайта с помощью setBounds?(LIBGDX) - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть растровое изображение (png), загруженное в мой спрайт с определенным размером (200) и центром при 100/100 для вращения:

Sprite round = loadSprite(200,200);
round.setPosition(x,y)

При вращении round.setRotation() спрайт вращается вокругправильный центр.

Теперь я хотел бы изменить размер спрайта до нового размера (400 400) и по-прежнему хотеть вращаться вокруг центра (200/200):

round.setBounds(x,y,400,400)
rount.setCenter(200,200);

При повторном вращении, он все еще вращается вокруг старого Центра 100/100.

Как это сделать по центру?

1 Ответ

0 голосов
/ 10 декабря 2018

setCenter(x, y) установить позицию спрайта так, чтобы он был отцентрирован по этой позиции:

/** 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) {
    ...
}
...