【问题标题】:Gdx.files.internal not using android assets pathGdx.files.internal 不使用 android 资产路径
【发布时间】:2014-06-09 19:43:20
【问题描述】:

每当我尝试使用 Gdx.files.internal 获取 FileHandle 时,我都会收到如下所示的 FileNotFoundException:

    <PATH TO MY GAME>\desktop\xml\screen.xml (The system cannot find the path specified)

我使用 libgdx 项目设置工具设置我的项目,我的桌面项目中的资产文件夹似乎与我的 android 项目相同(它们已链接)。但是,当我进入我的桌面项目时,我的资产有一个 bin 文件夹。如果我将路径更改为“/bin/...”,那么我可以毫无例外地运行该项目。但是,如果我导出为 JAR,我觉得这可能是个问题。

代码:

    final FileHandle screenXML = Gdx.files.internal("xml/screen.xml");

【问题讨论】:

  • 你必须把所有东西都放在android项目的assets文件夹中。您将使用 gradle 打包您的 jar 文件,它会将所有内容放在正确的位置。
  • 我添加了一张图片以显示我的资产文件夹已链接(即我的 android 项目的资产文件夹中包含所有内容)。
  • 同样的问题,我很想找到答案。它只发生在我更新到最新的夜间(上周)之后
  • 我添加了我的答案。它可能对我的问题来说太局部了,但请尝试确保您没有使用“.file()”函数,如果是,请改用 .read()。

标签: libgdx


【解决方案1】:

我的问题源于以下原因(感谢 Libgdx 的出色而耐心的 IRC 社区成员):

    // final Document screenDoc = docBuilder.parse(screenXML.file());
    // Note: MUST use .read() here, not .file(), as we link from the android assets!
    final Document screenDoc = docBuilder.parse(screenXML.read());

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2019-10-13
    • 2017-08-07
    • 2022-06-10
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 2015-11-16
    • 1970-01-01
    相关资源
    最近更新 更多