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

具有不同密度/分辨率的设备上的LIBGDX绘图

萧和平
2023-03-14

我是LIBGDX游戏开发的新手,我遇到了我的第一个问题。我已经创造了9个。使用纹理打包器修补可拉伸(按钮)。这种抽绳可用于低密度和超高密度筛网,质量相同。

如果我用桌面上的可绘制项目运行我的项目,那么显示的图像就可以了,大小也非常完美。如果我在低密度的android设备上运行这个项目,drawable会变得巨大(几乎占屏幕的一半)。而且,如果我在超高密度Android设备上运行这个项目,按钮就会变得非常小。

所以我的问题是,如何在LIBGDX中处理可绘制内容,这样无论分辨率/密度如何,比率(屏幕:图像大小)都保持不变。。?

共有2个答案

陆俊智
2023-03-14

这有点取决于你在画什么...如果您只是绘制图像,我发现在绘制方法的最后两个参数中指定浮点宽度和高度更容易。如果您使用的是具有固定视口大小的相机,您可以简单地使用相机视口的固定百分比,这样它将始终是相同的尺寸,并像这样绘制:

batch.draw(drawable,x,y,screenwidth * 0.5f,screenheight*0.5f);

但是,如果在表中使用按钮或其他小部件,则应指定单元格大小,并根据表单元格的大小自动调整大小。比如:

myTable.add(myWidget).width(300).height(200);

如果你有机会的话,把你需要画的东西准确地贴出来,这样会更容易弄清楚需要画什么。

费凯康
2023-03-14

如果您的按钮是文本按钮。更改文本的字体。

如果您正在使用图像按钮,这可能会对您有所帮助

 类似资料:
  • 我已经添加了一个图像作为画布子级,该图像只是一个布局,以装备UI文本元素,如下图所示。 在这里,黑色的轮廓是图像,红色的轮廓是它们的边界,我们可以在编辑器中看到,蓝色的文本是用户界面文本元素,锚预设底部拉伸,右=100。画布渲染模式是屏幕叠加,按屏幕大小缩放,参考分辨率为1920x1080。因此,在图1中,用户界面文本在中间,但在图2(不同的分辨率)中,它看起来不像在中间。

  • 我正在从事Android游戏开发,我是一名新手。我想开发一款屏幕分辨率免费的游戏。如果我知道如何使用libgdx库捕捉Android设备的屏幕分辨率,那就足够了。在谷歌搜索之后,我在不同的网站上阅读了下面的代码,但它不适用于libgdx。 除此之外,我还使用了以下网站上给出的技术,该技术使用了“正交摄影机”课程来解决问题,但也不适用于我。 http://www.java-gaming.org/in

  • 因此,我有一个SurfaceView类绘制所有对象。 例如,当我画一个圆时,我必须指定一个大小 有没有办法根据屏幕分辨率和密度的大小来调整尺寸 因为我在画圆时,我希望它在低分辨率设备上的大小与在高分辨率设备上的大小相同。 当绘制半径为50px的圆时,较小屏幕上的圆比较大屏幕上的圆大。 有什么想法吗? 编辑:我知道在创建一些布局时,我可以使用密度像素。但我不是在做布局,我是在surfaceview上

  • 所以我用这个代码来获取屏幕上触摸的坐标。 但是如果我有一个分辨率为1280x960的设备,我有一个800x600的正交相机。 我可以做什么来获取摄像机内部的坐标,而不是设备触摸坐标 “例如,如果我在x轴上触摸屏幕的限制,我希望得到800而不是1280”

  • 好的,这里有一个奇怪的问题,我有问题(用gcc btw编译) 下面是用于命令提示的Mandelbrot分形生成器的源代码。我以前做过这项工作,我想加快自己的测试速度,看看我能以多快的速度生成命令提示符中实际生成Mandelbrot分形所需的代码。我经常这样做是为了给自己找点乐子 不管怎样,我遇到了一个新问题,我不太明白问题是什么。当分形呈现时,无论我设置了多少次迭代或什么转义值,它都将始终显示为椭