理解libgdx中的坐标

理解libgdx中的坐标,libgdx,actor,stage,Libgdx,Actor,Stage,我目前正在做一个libgdx项目。这是我遵循的结构: 单个游戏-几个屏幕-每个屏幕有一个舞台-每个舞台有一些小组-每个小组有一些演员-每个演员有一个精灵 我在组之间拖动演员,但当我将演员添加到组中时,坐标始终为0,0,即使我指定了其他人 我读过一些关于局部坐标和舞台坐标的书 问题是。。。如何在组的中间添加一个演员和它的精灵? 在将一个参与者添加到组中之后,参与者的坐标变成相对于组。若您知道组的宽度和高度,若您的演员原点位于其0,0点上,则可以使用以下代码段: group.addAtor(acto

我目前正在做一个libgdx项目。这是我遵循的结构:

单个游戏-几个屏幕-每个屏幕有一个舞台-每个舞台有一些小组-每个小组有一些演员-每个演员有一个精灵

我在组之间拖动演员,但当我将演员添加到组中时,坐标始终为0,0,即使我指定了其他人

我读过一些关于局部坐标和舞台坐标的书


问题是。。。如何在组的中间添加一个演员和它的精灵?

在将一个参与者添加到组中之后,参与者的坐标变成相对于组。若您知道组的宽度和高度,若您的演员原点位于其0,0点上,则可以使用以下代码段:

group.addAtor(actor);
actor.setX(group.getWidth() / 2 - actor.getWidth() / 2);
actor.setY(group.getHeight() / 2 - actor.getHeight() / 2);
如果将原点设置为中心点,如下所示:

actor.setOrigin(actor.getWidth()/2, actor.getHeight()/2);
然后,您可以在不考虑演员的宽度和高度的情况下使用以下代码:

actor.setX(group.getWidth() / 2);
actor.setY(group.getHeight() / 2);