如何在libgdx中将图像演员旋转到中间点?

2022-09-02 09:00:50

如果我理解正确,LibGDX正在使用addActions方法旋转图像:

this.addAction( parallel(rotateBy(360, 0.5f), moveTo(320, 100, 0.5f)));

问题是,它正在被图像的点=(0,0)旋转。

这是我的问题:

有没有办法将图像旋转到对象的中心点?比如把它钉在中间,然后像汽车里的轮子一样转动它?rotateByrotateTo 方法都会将其旋转图像本身的 (0,0) 点。


答案 1

你必须正确地设置你的演员的“起源”。您可以从 Actor API 中读取到原点相对于位置,并用于缩放和旋转。

因此,计算中间点,并将原点设置为中间点。

Actor a;
....
a.setOrigin(a.getWidth()/2, a.getHeight()/2);

答案 2

我发现设置原点的最简单,最短的方法是调用:

Actor a;

...

a.setOrigin(Align.center);

推荐