演员出身于场景2d

时间:2015-01-22 00:41:22

标签: libgdx

我似乎无法正确理解Libgdx的scene2d中的演员原点。

我的理解如下:

如果我将一个actor的X设置为0,它的左边缘将在corrdination 0处呈现。现在,如果我将其原点X设置为5,则该actor的第五个像素将处于corrdination 0,换句话说,演员的左边缘将是-5。

我的经验表明其他方式。如果我将原点设置为5,那么左边缘将以某种方式呈现在协调5上。

有人可以帮我理解这个问题。

1 个答案:

答案 0 :(得分:3)

origin仅用于缩放和旋转 这意味着,如果原点是P(0,0)(默认值),则Actor将在其左下角旋转并缩放。
如果您将它的原点设置为中心(P(宽度/ 2,高度/ 2)),他将旋转并围绕其中心进行缩放。
相反,位置始终相对于左下角,并且不受原点的影响 如果要设置Actor相对于其原点的位置,则需要将原点用作偏移量:

actor.setX(newPosX - actor.getOriginX());
actor.setY(newPosY - actor.setOriginY());

另外请记住,将x-origin设置为5,就像在您的示例中一样,不需要将Actor s原点设置为第5个像素,而是将其设置为第5个像素。
如果您使用Viewport,则无需以像素为单位进行计算,这非常重要,因为您可以支持不同的分辨率和宽高比。