libgdx 支持多种图像分辨率

2023-12-30

我应该如何遵循目录结构以及指定内容,以便assetManger将使用该文件夹来实现不同的分辨率。

我学过assetManager and ResolutionFileResolver但直到现在我还无法准确地弄清楚如何指定文件夹来支持不同的分辨率。


Update:较新版本的 Libgdx 使用不同的策略来解析文件名(使用目录,而不是文件),因此此答案不适用于(0.9.2,我认为?https://github.com/libgdx/libgdx/commit/3afcfe49c40196765033a90b4610159183dde981 https://github.com/libgdx/libgdx/commit/3afcfe49c40196765033a90b4610159183dde981)

内置的ResolutionFileResolver http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/assets/loaders/resolvers/ResolutionFileResolver.html不使用目录层次结构。它使用文件后缀将屏幕分辨率与资源相匹配。

这是来自 libGDX 的代码AssetManagerTest https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/AssetManagerTest.java:

Resolution[] resolutions = { new Resolution(320, 480, ".320480"),
                             new Resolution(480, 800, ".480800"),
                             new Resolution(480, 856, ".480854") };
ResolutionFileResolver resolver = new ResolutionFileResolver(new InternalFileHandleResolver(), resolutions);
AssetManager manager = new AssetManager();
manager.setLoader(Texture.class, new TextureLoader(resolver));
...

解析器根据当前屏幕分辨率附加这些后缀之一。因此,例如,如果您在 480x800 设备上查找“foo.jpg”,则会打开文件“foo.jpg.480800”。

如果您想根据目录解析文件(因此“foo.jpg”将解析为“480x800/foo.jpg”或类似的内容),您可以编写一个新的解析器。只需实施FileHandleResolver http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/assets/loaders/FileHandleResolver.html. The 解析文件解析器.java https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/assets/loaders/resolvers/ResolutionFileResolver.java来源可能是一个很好的起点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

libgdx 支持多种图像分辨率 的相关文章

  • Dagger 和 libgdx

    可以使用 dagger 2 和 libgdx web 吗 libgdx 项目可以在 Android 和桌面上正常构建 当我添加一个网络模块并运行时 gradlew html superDev ERROR Line 1 The type ja
  • libgdx sprite 和 actor 之间的区别

    我正在浏览有关 libgdx 的 javadoc 和各种教程 并且正处于尝试找出与我相似或在 libgdx 中提供类似功能的各种概念之间的差异的阶段 起初我认为 scene2d 是关于创建交互式项目 例如菜单等 但我正在阅读的各种教程使用
  • Libgdx - 制作下拉菜单/设置屏幕

    我正在寻找制作一个下拉菜单和下拉设置屏幕 但我找不到任何在 Libgdx 中制作这些的资源 想要一些针对这种特定类型的界面的良好资源的指针或一个简单的示例 Thanks 选择框 https github com libgdx libgdx
  • 如何将 Sprite 纹理更改为动画

    我有一个每秒生成的精灵 我不想做的是将精灵纹理更改为动画 并且当它被触摸时它将恢复为正常纹理 public void draw SpriteBatch batch enemyIterator enemies iterator arrayli
  • OpenGL 上下文丢失后如何重新加载 libgdx 非托管纹理

    我正在通过网络下载图像 并使用以下命令将它们作为图像演员添加到我的 libgdx UI 中 Pixmap pm new Pixmap data 0 data length Texture t new Texture pm TextureRe
  • libgdx Shaperenderer line ..如何绘制特定宽度的线

    我正在尝试使用 libgdx 形状渲染器绘制一条特定宽度的线 我跟着这个link https stackoverflow com questions 18650619 increasing the width of line drawn u
  • 如何使用 box2d 在 libgdx 中拖动对象?

    我已将对象添加到box2d世界在libgdx 我想知道是否可以用鼠标拖动对象 如果是这样 怎么办 thanks 这里有几个选项 您可以使用鼠标关节 也可以使用运动体并手动设置其位置 看看如何使用鼠标关节的一个很好的例子 http code
  • 正交相机旋转

    我可以使用此代码旋转相机 camera zoom 3 in constructor if camera zoom gt 1 camera zoom 0 01f camera rotate 15 this is done in render
  • LibGDX 。绘制多行文本

    我正在尝试使用 libGDX 中的 BitmapFont 编写大文本 但它显示在一行上 用户只能看到文本的第一部分 如何使 bitmapFont 自动换行并在屏幕上显示整个文本 要么使用 n用于手动换行并通过渲染字体font drawMul
  • java- libgdx build.gradle 与 AdMob 不同

    我正在为 android 构建一个应用程序并使用 libGdx 我检查了一百万个关于如何添加 Admob 的教程 每个教程都要求调整 build gradle 文件 但我的文件与他们的文件不一样 他们有依赖项和不同的东西 知道如何在我的 b
  • Gdx.input.getY 被翻转

    我在 LibGDX 中遇到一个问题 当我调用 Gdx input getY 时 它会选择相对于屏幕中心位于应用程序另一侧的像素 public class Main extends ApplicationAdapter private Spr
  • Libgdx 模板和形状渲染器

    我正在尝试完成这样的事情 样本图像 https i stack imgur com CkdSO jpg 整个屏幕将是黑色的 然后三角形的内部是只会出现的部分 我尝试使用剪刀 但它是矩形的 原始图片来源 https www html5rock
  • 实现移动运动体

    Project 我正在制作一个简单的项目 其中我希望能够制作一个运动体并将其从 x 点移动到 y 点 创建运动体 似乎没有太多直接内容 我一直在关注一些关于实现运动体的不同教程 因为我找不到指定如何正确执行此操作的教程 Problem 这似
  • 对话框的对象位置 Libgdx

    我有一个对话框 Dialog dialog new Dialog style dialog setSize 400 500 dialog setPosition Gdx graphics getWidth 2 200 Gdx graphic
  • 着色器/矩阵问题 - 看不到对象

    我试图在屏幕上放置一个立方体并点亮它 我想要在立方体上添加 phong 阴影 当我运行代码时 我可以看到背景图像 但看不到立方体 我相当确定立方体本身是正确的 因为我已经设法用纯色着色器显示它 我已经设法编译着色器程序 但我根本看不到立方体
  • 在 Libgdx 中实现简单运动模糊的意外结果

    在所附的两张图片中 libgdx 的桌面屏幕截图按预期运行 不幸的是 我的 Galaxy Nexus 的屏幕截图与预期不符 我正在尝试创建一个简单的运动模糊或轨迹效果 Rendering as I expected on my deskto
  • 如何使用 AssetManager 在 libGDX 中构建 ResourceManager

    我想在我的 Android 游戏中使用非静态 AssetManager 我有很多层次 我应该如何使用AssetManager 我应该为每个级别创建一个单独的 AssetManager 吗 因为如果我创建一个 AssetManager 它将在
  • 具有漫反射和法线贴图纹理的 3D 模型

    我想使用 libgdx 的资源加载器加载具有漫反射纹理和法线贴图的 3D 模型 据我所知 fbx 以及转换后的 g3dj g3db 格式可以包含漫反射纹理 正如我在 fbx conv 示例中看到的那样 骑士 g3db 如何为其添加法线贴图纹
  • libgdx SpriteBatch 渲染到纹理

    是否可以使用 libGdx 适用于 Android 桌面的 Java 引擎 中的 SpriteBatch 渲染到纹理 如果是这样 怎么办 基本上我想将所有内容渲染到 512 x 256 纹理的 320 x 240 区域 然后缩放区域以适合屏
  • 通过 RoboVM 在 iOS 模拟器中运行 Libgdx Eclipse 应用程序

    我似乎无法让 RoboVM 通过 Eclipse 在 iOS 模拟器中运行应用程序 我已关注本指南 http www robovm org docs html eclipse 但出现此错误 当我尝试运行 Run as iOS Simulat

随机推荐