当前位置: 首页 > 知识库问答 >
问题:

libgdx sprite尺寸表还是像素?

勾长卿
2023-03-14

我一直在读《学习Libgdx游戏开发》。我尝试了以下片段:

// First the camera object is created with viewport of 5 X 5. 
OrthographicCamera camera = new OrthographicCamera(5, 5);

我有一个32像素乘32像素的纹理。我用这个做成一个精灵

Sprite spr = new Sprite(texture);

// I set the size of Spr as 
spr.setSize(1,1);

根据这本书,上面的尺寸是米而不是像素。

我不明白的是从米到像素的映射是如何在屏幕上发生的?当我在屏幕上画精灵时,它的大小甚至不到半米,更不用说1了。

此外,基础纹理的大小为32 X 32像素。当我调整大小时,精灵的大小也会改变。

那么,spr的维度是什么。设定位置(x,y)?它们是米还是像素?

共有1个答案

松高歌
2023-03-14

该库使用像素来表示纹理大小等维度,并使用米来表示游戏中的单位。

设定位置将以游戏单位移动一个物体。当你将一个物体移动到X个游戏单位时,像素的数量会根据相机的投影矩阵和其他设置而变化。

如果你仔细想想,以像素为单位移动是没有意义的。如果相机A比相机放大更多,那么在每个相机的视图中移动X像素将需要移动两个不同的量。

编辑:对不起,我在你上面的理解中做了一些假设,部分误解了这个问题,并坦率地使用了误导性的措辞。关键是单位的米的约定不是内置的,这是一个你强制执行的约定,因为Box2D中一个像素对一个米的比例是没有意义的。我使用的措辞暗示内部设置位置关心米,但你应该自己做缩放。通常情况下,我在libgdx中看到的比率是30像素=1米。

 类似资料:
  • 主要内容:jQuery 尺寸方法,jQuery 尺寸,jQuery width() 和 height() 方法,实例,jQuery innerWidth() 和 innerHeight() 方法,实例,jQuery outerWidth() 和 outerHeight() 方法,实例通过 jQuery,很容易处理元素和浏览器窗口的尺寸。 jQuery 尺寸方法 jQuery 提供多个处理尺寸的重要方法: width() height() innerWidth() innerHeight() ou

  • 我有一个名为sampleImage的图像,我试图沿着x轴和y轴拉伸它,如下所示,当它处于横向时,它根本不起作用 然后,我在viewDidLayoutSubviews()中做了如下操作, 如果设备在中,这是有效的,但是一旦您将其旋转到并返回,所有更改都将消失。如何确保这些尺寸在旋转时保持不变?

  • 在CSS中,通过 width 和 height 属性来定义一个盒子的宽度和高度,可以用长度值或百分比来设置,不允许负值。使用百分比时,根据父元素的宽度进行计算盒子的宽度,根据父元素的高度进行计算盒子的高度。 如果一个盒子没有显式定义 width 属性,则宽度的计算结果跟定位类型相关:静态定位或相对定位的盒子,其宽度为父元素宽度的100%;绝对定位和浮动的盒子,其宽度根据所包含内容自动扩展,最大宽度

  • CSS 尺寸 (Dimension) 属性允许你控制元素的高度和宽度。同样,它允许你增加行间距。 更多实例 设置元素的高度 这个例子演示了如何设置不同元素的高度。 使用百分比设置图像的高度 这个例子演示了如何使用百分比值设置元素的高度。 使用像素值来设置元素的宽度 本例演示如何使用像素值来设置元素的宽度。 设置元素的最大高度 此示例演示如何设置元素的最大高度。 使用百分比来设置元素的最大宽度 本例

  • 为什么要占用这么多内存?有没有更好的方法来使用更少的内存呢?这就是我在XML中创建按钮的方法。谢谢你

  • 问题内容: 我对(N,)维数组和(N,1)维数组之间的转换有疑问。例如,y是(2,)维。 但是下面将显示y2为(2,1)维。 在不复制的情况下将y2转换回y的最有效方法是什么? 谢谢汤姆 问题答案: 为此工作 还请注意,除非需要复制新形状(在这里不需要这样做),否则它不会复制数据: