使用世界坐标

时间:2015-06-22 07:58:19

标签: java libgdx

我目前正在使用像素作为在我的世界中放置对象的单位,但是这可能会变得乏味,因为我每隔16个像素只放置一次对象。例如,我希望能够将对象放在位置2并将对象渲染到像素位置32.

我想知道这样做的最佳方法是简单地使用像素到单位变量并根据我需要对像素进行的乘法/除法,或者是否有更好的方法。

1 个答案:

答案 0 :(得分:0)

您不应该使用不变的像素到单位转换,因为这会导致不同屏幕尺寸/分辨率的不同行为。
另外不要忘记不同的宽高比,你还需要注意它们 解决此问题的方法是使用Viewports 其中一些支持虚拟屏幕尺寸,这是您正在寻找的。您可以计算虚拟空间中的所有内容,Libgdx会将这些内容转换为像素 他们还以不同的方式关注不同的长宽比 例如,FitViewport显示黑色边框,如果宽高比与虚拟宽高比不同 StretchViewport而非显示黑色边框会拉伸图像以适应屏幕。