gpt4 book ai didi

java - Libgdx 坐标系原点(0,0),不在屏幕左下角

转载 作者:行者123 更新时间:2023-11-30 06:19:12 25 4
gpt4 key购买 nike

我正在开发一个程序来可视化 n 体粒子模拟。为此,我创建了一个相机,用于将粒子位置投影到屏幕上。然后,使用 spritebatch 将这些粒子渲染到正确的位置。然而,要使其工作,坐标系的原点必须位于屏幕的左下角。通常情况并非如此,在所有情况下,原点都位于屏幕左侧约四分之一的位置,并且在调整屏幕大小时会发生变化。

如何保证坐标系原点始终位于屏幕的左下角,而不是在任一轴上升高几百个像素?

谢谢。

最佳答案

如果您决定使用 Sprite ,您应该坚持建议的工作流程并使用以下方式绘制它们:

sprite.draw(batch);

我的意思是,如果您要获取纹理并绘制它们,那么使用 Sprite 的目的是什么?

当您在位置 (0,0) 处绘制纹理到屏幕时,这意味着它的左下角将位于屏幕的左下角。也就是说, Sprite 的“热点”或“原点”默认位于其左下角。

但是您可以使用 setOrigin 方法更改它:

https://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/graphics/g2d/Sprite.html#setOrigin-float-float-

也就是说,原点有点像 Sprite 的“中心”,因此,如果它旋转,它将围绕该点旋转。此外,当您在某些坐标处绘制 Sprite 时, Sprite 原点将恰好位于这些坐标处。这样您就不必调整 Sprite 绘制位置。

在该页面上检查 Sprite 类有哪些方法...

关于java - Libgdx 坐标系原点(0,0),不在屏幕左下角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48544970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com