首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >场景2d中的演员原点

场景2d中的演员原点
EN

Stack Overflow用户
提问于 2015-01-22 08:41:22
回答 1查看 1.9K关注 0票数 1

我似乎不能正确理解Libgdx的scene2d中的角色起源。

我的理解如下:

如果一个角色的I setX为0,那么它的左边缘将在corrdination 0处渲染。现在,如果我把它的原点X设为5,演员的第五个像素将在坐标0处,换句话说,演员的左边缘将在-5处。

一些我的经验表明并非如此。如果我将原点设置为5,则以某种方式在坐标5上渲染左侧边缘。

有没有人能帮我理解这个问题。

EN

回答 1

Stack Overflow用户

发布于 2015-01-22 14:49:22

origin仅用于缩放和旋转。

这意味着,如果原点是P(0,0) (默认值),则Actor将围绕其左下角进行旋转和缩放。

如果您将其原点设置为中心(P(width/2,height/2)),它将围绕其中心旋转和缩放。

相反,该位置始终相对于左下角,不受原点的影响。

如果您想设置Actor相对于其原点的位置,则需要使用原点作为偏移量:

代码语言:javascript
复制
actor.setX(newPosX - actor.getOriginX());
actor.setY(newPosY - actor.setOriginY());

还要记住,设置x原点为5,就像您的示例一样,不需要将Actor的原点设置为它的第5个像素,而是它的第5个单位。

如果你使用Viewport,你不需要计算像素,这是非常重要的,因为你可以支持不同的分辨率和宽高比。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28079531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档