我目前正在开发一个libgdx项目。这是我正在遵循的结构:
单一游戏 - 几个屏幕 - 每个屏幕都有一个舞台 - 每个舞台都有一些小组 - 每个小组都有一些演员 - 每个演员都有一个精灵。
我正在玩组之间的拖动演员,但是当我将演员添加到组中时,即使我指定其他人,坐标也总是0,0。
我已经阅读了有关本地坐标和舞台坐标的内容。
问题是......我怎样才能在小组中间添加一个演员(及其精灵)?
答案 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);