如何在中间点旋转libgdx中的图像actor?

Pet*_*oda 19 java android game-engine libgdx

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

this.addAction( parallel(rotateBy(360, 0.5f), moveTo(320, 100, 0.5f)));
Run Code Online (Sandbox Code Playgroud)

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

这是我的问题:

有没有办法按对象的中心点旋转图像?有点像把它固定在中间然后把它变成汽车的轮子?既rotateByrotateTo方法由图像本身的(0,0)点转动.

aac*_*neo 30

你必须正确设置你演员的"起源".您可以从Actor API中读取原点相对于位置的内容,并用于缩放和旋转.

因此,计算您的中间点,并将原点设置为中间点.

Actor a;
....
a.setOrigin(a.getWidth()/2, a.getHeight()/2);
Run Code Online (Sandbox Code Playgroud)


Ami*_*ski 5

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

Actor a;

...

a.setOrigin(Align.center);
Run Code Online (Sandbox Code Playgroud)