0

我正在尝试在 libGDX for iOS 中开发应用程序。

在我的 Java 类中,我写了这一行

private Texture texture = new Texture(Gdx.files.internal("data/folder_name_1/folder_name_2/abcd.png"));

我的 robovm.xml 看起来像这样-

<iosInfoPList>Info.plist.xml</iosInfoPList>
  <resources>
    <resource>
      <directory>../android/assets</directory>
      <includes>
        <include>**</include>
      </includes>
      <skipPngCrush>true</skipPngCrush>
    </resource>
    <resource>
      <directory>data</directory>
    </resource>
  </resources>

当我尝试在 iOS 模拟器上运行代码时,它运行良好。但是当我尝试在 iOS 设备(即 iPhone)上运行它时。它会产生一个看起来像这样的错误 -

com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: data/folder_name_1/folder_name_2/abcd.png

有人可以帮我弄这个吗 ?

注意:- 在我的 iOS 项目中的 data 文件夹中,还有另一个“data”文件夹,其中有另一个名为“folder_name_1”的文件夹,然后在里面我有“folder_name_2”文件夹,里面有我的 png 文件“abcd. .png'。

4

3 回答 3

2

你的错误就摆在你面前...

 <directory>../android/assets</directory>

您要查找的资源不在“数据”文件夹中。它在android项目的“资产”中。

此外,在加载纹理时,您不需要使用 FileHandler.. 这就足够了:

texture = new Texture("image.png");

这将是 android 项目的根(资产)文件夹

于 2014-08-06T09:45:31.950 回答
0

我也遇到这个问题,我似乎解决了它。即:我从执行gdx-setup.jar得到GDX工程,并在lib目录下获取所有so文件。就这样!

于 2016-05-18T02:22:00.703 回答
0

我遇到过同样的问题。我已经清理并重建了项目,之后它对我来说很好。

于 2019-12-28T09:20:09.777 回答