我似乎不能正确理解Libgdx的scene2d中的角色起源。
我的理解如下:
如果一个角色的I setX为0,那么它的左边缘将在corrdination 0处渲染。现在,如果我把它的原点X设为5,演员的第五个像素将在坐标0处,换句话说,演员的左边缘将在-5处。
一些我的经验表明并非如此。如果我将原点设置为5,则以某种方式在坐标5上渲染左侧边缘。
有没有人能帮我理解这个问题。
发布于 2015-01-22 14:49:22
origin仅用于缩放和旋转。
这意味着,如果原点是P(0,0) (默认值),则Actor将围绕其左下角进行旋转和缩放。
如果您将其原点设置为中心(P(width/2,height/2)),它将围绕其中心旋转和缩放。
相反,该位置始终相对于左下角,不受原点的影响。
如果您想设置Actor相对于其原点的位置,则需要使用原点作为偏移量:
actor.setX(newPosX - actor.getOriginX());
actor.setY(newPosY - actor.setOriginY());还要记住,设置x原点为5,就像您的示例一样,不需要将Actor的原点设置为它的第5个像素,而是它的第5个单位。
如果你使用Viewport,你不需要计算像素,这是非常重要的,因为你可以支持不同的分辨率和宽高比。
https://stackoverflow.com/questions/28079531
复制相似问题