libGDX iOS应用程序在调用creat()后崩溃

时间:2014-08-05 18:07:27

标签: java android ios libgdx robovm

我使用libGDX创建了一个游戏应用程序,并且它在我的桌面,Android模拟器和我的Android设备上成功运行,但是,当尝试将其作为iOS模拟器应用程序启动时,我收到以下错误:

  

[WARN] android.System:在附加的堆栈跟踪中获取资源   但从未发布过。有关避免的信息,请参阅java.io.Closeable   资源泄漏。 [WARN] android.System:java.lang.Throwable:明确   终止方法'关闭'不叫   dalvik.system.CloseGuard.open(CloseGuard.java)at   java.io.RandomAccessFile。(RandomAccessFile.java)at   java.io.RandomAccessFile。(RandomAccessFile.java)at   java.util.zip.ZipFile。(ZipFile.java)at   java.util.zip.ZipFile。(ZipFile.java)at   java.lang.PathClassLoader.init(PathClassLoader.java)at   java.lang.PathClassLoader.findResource(PathClassLoader.java)at   java.lang.ClassLoader.getResource(ClassLoader.java)at   java.lang.ClassLoader.getResourceAsStream(ClassLoader.java)at   java.lang.Class.getResourceAsStream(Class.java)at   com.badlogic.gdx.files.FileHandle.read(FileHandle.java)at at   com.badlogic.gdx.graphics.g2d.TextureAtlas $ TextureAtlasData。(TextureAtlas.java)     在   com.badlogic.gdx.graphics.g2d.TextureAtlas。(TextureAtlas.java)     在   com.badlogic.gdx.graphics.g2d.TextureAtlas。(TextureAtlas.java)     在   com.badlogic.gdx.graphics.g2d.TextureAtlas。(TextureAtlas.java)     在   com.appsandsmiles.MammiMammiGameHelpers.AssetLoader.load(AssetLoader.java)     在com.appsandsmiles.MammiMammi.MammiMammiGame.create(MammiMammiGame.java)at at   com.badlogic.gdx.backends.iosrobovm.IOSGraphics.draw(IOSGraphics.java)     在   com.badlogic.gdx.backends.iosrobovm.IOSGraphics $ 1.draw(IOSGraphics.java)     在org.robovm.apple.uikit.UIView。$ cb $ drawRect $(UIView.java)at at   org.robovm.apple.uikit.UIApplication.main(Native Method)at   org.robovm.apple.uikit.UIApplication.main(UIApplication.java)at at   com.appsandsmiles.MammiMammi.IOSLauncher.main(IOSLauncher.java)

  

com.badlogic.gdx.utils.GdxRuntimeException:找不到文件:   data / spritesheet.atlas(内部)at   com.badlogic.gdx.files.FileHandle.read(FileHandle.java)at at   com.badlogic.gdx.graphics.g2d.TextureAtlas $ TextureAtlasData。(TextureAtlas.java)     在   com.badlogic.gdx.graphics.g2d.TextureAtlas。(TextureAtlas.java)     在   com.badlogic.gdx.graphics.g2d.TextureAtlas。(TextureAtlas.java)     在   com.badlogic.gdx.graphics.g2d.TextureAtlas。(TextureAtlas.java)     在   com.appsandsmiles.MammiMammiGameHelpers.AssetLoader.load(AssetLoader.java)     在com.appsandsmiles.MammiMammi.MammiMammiGame.create(MammiMammiGame.java)at at   com.badlogic.gdx.backends.iosrobovm.IOSGraphics.draw(IOSGraphics.java)     在   com.badlogic.gdx.backends.iosrobovm.IOSGraphics $ 1.draw(IOSGraphics.java)     在org.robovm.apple.uikit.UIView。$ cb $ drawRect $(UIView.java)at at   org.robovm.apple.uikit.UIApplication.main(Native Method)at   org.robovm.apple.uikit.UIApplication.main(UIApplication.java)at at   com.appsandsmiles.MammiMammi.IOSLauncher.main(IOSLauncher.java)

我试图创建一个Hallo word项目来检查它是否在iOS模拟器上运行它确实是这样我觉得问题出在代码中的某个地方,但正如我在开始时提到的那样,app在Android设备和桌面上工作。

2 个答案:

答案 0 :(得分:0)

通过查看第二个日志块,您似乎要么没有" data / spritesheet.atlas"在正确的位置或您的ios项目没有从Android项目中获取资源"资产"夹。

如果"数据"日志中提到的文件夹是指ios项目"数据"您应该将图形移动到"数据/资产"在android项目中的文件夹。

答案 1 :(得分:0)

再次检查代码后,我注意到问题出在我的robovm.xml文件中。

将问题从以下地址更改后修复了问题:

../ GameName-机器人/资产/数据

../ GameName-机器人/资产