首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解Pyglet中的anchor_x和anchor_y属性

理解Pyglet中的anchor_x和anchor_y属性
EN

Stack Overflow用户
提问于 2019-03-19 06:19:57
回答 1查看 1.2K关注 0票数 1

我刚开始学习Python和游戏开发,刚刚开始学习Pyglet (1.3.2)。我试着玩标签和他们的定位。

我知道x和y坐标表示窗口上标签/图像的像素位置。在图像或sprint的情况下,锚值决定图像被锚定到屏幕的位置(这反过来又会影响它们的移动)。

然而,我并不完全理解锚在标签上的作用。根据 pyglet文档,它说:

文本的位置由x和y坐标决定。anchor_x和anchor_y参数给出了这些坐标的含义。

这意味着什么?如果他们没有移动,他们的位置不应该是固定的,不管锚值?

此外,当我使用以下标签运行程序时:

代码语言:javascript
复制
   label1 = pyglet.text.Label('Window1',font_name='Times New Roman', font_size=36, x=200, y=100,anchor_x='center', anchor_y='center')        
   label2 = pyglet.text.Label('Window2',font_name='Times New Roman', font_size=36, x=200, y=100,anchor_x='left', anchor_y='center')

它产生的输出同样难以理解,因为Window1 (锚_x=‘心’)比Window2 (锚_x=‘左’)更接近左:

请有人详细说明锚的意义和标签的最终位置是如何计算的。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-19 10:47:11

因此,锚的工作方式,就是简单地定义一个对象的放置点。这意味着,如果您使用center作为锚,对象中心将放置在给定的坐标(在您的例子中是x=200, y=100__)。

左下角的锚会告诉Pyglet将物体左下角放置在给定的位置,而不是位于这些坐标的中心。

如果你分析你自己的图像,这将是非常清楚的,在这里,这两个点是直接一致的:

它们被定位在相同的坐标上,但是因为你重新定义了锚,它会把中心或者一个角放在那个位置上。

在红色中,您已经将center定义为您的锚。在蓝色中,您已经定义了bottom left (默认值)。

(忽略这些点不是完全对齐的,在摇曳的火车上用笔记本电脑触控板做是很棘手的。)

希望这是有意义的。也请参阅我的上述评论,以另一种方式来描述这一点。

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

https://stackoverflow.com/questions/55234767

复制
相关文章

相似问题

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