Android Libgdx基于DPI选择正确的纹理?

Android Libgdx基于DPI选择正确的纹理?,android,libgdx,Android,Libgdx,如何实现一个基于dpi的系统,从android SDK这样的集合中获取最佳纹理,因为LibGDX是独立于平台的,不能使用已经存在的纹理?可能是我的解决方案不是最好的,但我在实际项目中使用了它,它起到了作用 在您的游戏中类中,使用Gdx.graphics.getDensity()方法选择适当的文件夹,将其名称存储在公共字段中并加载您的资产: public class MyGame extends Game { public static String folder; private AssetM

如何实现一个基于dpi的系统,从android SDK这样的集合中获取最佳纹理,因为LibGDX是独立于平台的,不能使用已经存在的纹理?

可能是我的解决方案不是最好的,但我在实际项目中使用了它,它起到了作用

在您的
游戏中
类中,使用
Gdx.graphics.getDensity()
方法选择适当的文件夹,将其名称存储在公共字段中并加载您的资产:

public class MyGame extends Game {

public static String folder;
private AssetManager assets;

@Override
public void create() {
   if (Gdx.graphics.getDensity < 1) {
      folder = "lowDpiImages/";
   } else {
      folder = "highDpiImages/";
   }
   ...
   assets = new AssetManager();
   assets.load(folder + "image.png", Texture.class, paramsNearest);
   ...
}

您可以编写更复杂的文件夹选择算法;-)

你可能想把你发布的内容浓缩成更集中的内容。想象你正在给你的同事写一封电子邮件。我们很难读一段又一段,弄清楚你想要什么。给出几句背景知识,解释你需要做什么,然后明确地陈述你的问题。这样,我们就更容易帮助您了。解析文件句柄不是我要找的。。。它根据预定义的分辨率拍摄一组图像,而在android中,可绘制图像是根据dpi选择的。。。这是一个很大的不同这是非常有帮助的。我刚刚实现了这一点,似乎工作得很好。我还有一个问题。我尝试了getDesnity方法,我发现我的密度将被舍入。例如,在213 dpi上,它将是240 dpi,意味着1.5个刻度。这正常吗?没关系。打开此文件,阅读
字段中的
公共浮动密度
。它的值由LibGDX中Android后端的
getDensity()
方法返回。
assets.get(MyGame.folder + "image.png", Texture.class);