com.badlogic.gdx.utils.GdxRuntimeException:无法加载文件:- 错误

2022-01-12 00:00:00 iphone ios java libgdx robovm

我正在尝试在 libGDX for iOS 中开发一个应用程序.

I am trying to develop an application in libGDX for iOS.

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

In my Java class I have written this line

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

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

and my robovm.xml looks like this-

<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)上运行它时.它会生成一个看起来像这样的错误 -

When I try to run the code on iOS simulator it runs fine. But when I try to run it on an iOS device i.e. iPhone. It generates an error which looks like this-

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

有人可以帮我解决这个问题吗?

Can someone help me with this ?

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

Note:- in my iOS project in the data folder, there is another 'data' folder in which there is another folder named 'folder_name_1', then inside it I have 'folder_name_2' folder and inside it I have my png file 'abcd.png'.

推荐答案

错误就在你面前...

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

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

the resource you are looking for is NOT in the "data" folder. It's in the "Assets" which is in the android project.

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

Also when loading textures you don't need to use a FileHandler.. This would be enough:

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

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

which would be the root (assets) folder of the android project

相关文章