了解libgdx中的坐标

时间:2014-12-04 10:34:43

标签: libgdx actor stage

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

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

我正在玩组之间的拖动演员,但是当我将演员添加到组中时,即使我指定其他人,坐标也总是0,0。

我已经阅读了有关本地坐标和舞台坐标的内容。

问题是......我怎样才能在小组中间添加一个演员(及其精灵)?

1 个答案:

答案 0 :(得分:0)

将演员添加到组中后,演员的坐标变为相对于组。如果您知道组的宽度和高度,如果您的actor原点位于其(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);