2014-12-04 99 views
0

我目前正在开发一个libgdx项目。这是我所遵循的结构:了解libgdx中的坐标

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

我正在玩组之间拖动角色,但是当我将角色添加到组中时,即使指定其他角色,坐标始终为0,0。

我读过一些关于本地坐标和舞台坐标的内容。

问题是......我如何在组中间添加一个actor(及其精灵)?

回答

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);