【问题标题】:LibGDX: Art Assets Couldn't Load Dependencies, because Access DeniedLibGDX:艺术资产无法加载依赖项,因为访问被拒绝
【发布时间】:2014-01-02 07:03:15
【问题描述】:

我正在尝试将一些图像加载到 AssetManager 中,但我的问题是当它们由于依赖关系和拒绝访问而无法加载时......我以前从未遇到过这种情况,其他来源也没有很有帮助。

所有这些都发生在主项目中,而不是 Android 版本中。

奇怪的是,一个和它同级的文件,nukeCount.png,完全没问题,可以使用。

有问题的代码在这里: https://github.com/EyeWumbo/libgdx_device_v1.1/blob/master/Device/src/device/textures/Textures.java

资产目录在这里: https://github.com/EyeWumbo/libgdx_device_v1.1/tree/master/Device

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load dependencies of asset: data/art/game/UI/uibase/buttons/nuke
at com.badlogic.gdx.assets.AssetManager.handleTaskError(AssetManager.java:517)
at com.badlogic.gdx.assets.AssetManager.update(AssetManager.java:351)
at com.badlogic.gdx.assets.AssetManager.finishLoading(AssetManager.java:372)
at device.textures.Textures.loadArtAssets(Textures.java:104)
at menu.StateManager.moveToGame(StateManager.java:151)
at menu.StateManager.create(StateManager.java:65)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:130)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:110)
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load dependencies of asset: data/art/game/UI/uibase/buttons/nuke
at com.badlogic.gdx.assets.AssetLoadingTask.handleAsyncLoader(AssetLoadingTask.java:119)
at com.badlogic.gdx.assets.AssetLoadingTask.update(AssetLoadingTask.java:89)
at com.badlogic.gdx.assets.AssetManager.updateTask(AssetManager.java:454)
at com.badlogic.gdx.assets.AssetManager.update(AssetManager.java:349)
... 6 more
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: data/art/game/UI/uibase/buttons/nuke
at com.badlogic.gdx.utils.async.AsyncResult.get(AsyncResult.java:46)
at com.badlogic.gdx.assets.AssetLoadingTask.handleAsyncLoader(AssetLoadingTask.java:117)
... 9 more
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: data/art/game/UI/uibase/buttons/nuke
at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:140)
at com.badlogic.gdx.assets.loaders.TextureLoader.loadAsync(TextureLoader.java:72)
at com.badlogic.gdx.assets.loaders.TextureLoader.loadAsync(TextureLoader.java:41)
at com.badlogic.gdx.assets.AssetLoadingTask.call(AssetLoadingTask.java:69)
at com.badlogic.gdx.assets.AssetLoadingTask.call(AssetLoadingTask.java:34)
at com.badlogic.gdx.utils.async.AsyncExecutor$2.call(AsyncExecutor.java:65)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Cannot open a stream to a directory: data\art\game\UI\uibase\buttons\nuke (Internal)
at com.badlogic.gdx.files.FileHandle.read(FileHandle.java:140)
at com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:222)
at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:137)
... 9 more
Caused by: java.io.FileNotFoundException: data\art\game\UI\uibase\buttons\nuke (Access is denied)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at com.badlogic.gdx.files.FileHandle.read(FileHandle.java:137)
... 11 more

【问题讨论】:

  • 代码和文件夹/文件似乎是正确的。但是这里的stacktrace和github上的代码不匹配。它在堆栈跟踪中显示第 104 行,但它应该是 108。当您使用 nuke.png 删除条目时它是否有效?似乎无法访问文件夹 data/art/game/UI/uibase/buttons/nuke。
  • 我通过将资产替换为朋友资产文件夹中的另一个副本来“解决”问题。我仍然不知道是什么导致了这个问题......

标签: java android libgdx assets


【解决方案1】:

我通过用朋友资产文件夹中的另一个副本替换资产来“解决”了这个问题。我仍然不知道是什么导致了这个问题......

【讨论】:

  • 有同样的问题,它似乎与具有小写和大写字母的文件有关,所以在某些操作系统上它很重要,而在其他操作系统上它没有,并且在生成包时它搞砸了,有时在“pack”中有不同的名称(大写与小写)
  • @AvetisZakharyan 我将一些随机资产复制到我在 android studio 中的资产文件夹中,并得到了错误。我稍后以完全相同的方式再次复制了完全相同的资产,一切正常。这实际上是一个随机错误,可能是由于其他一些原因,它第一次没有很好地复制粘贴,或者被其他一些方式损坏/中断。
【解决方案2】:

如果你的文件名包含大写字母,如果你应该使用所有字符小写这个问题将会解决。因为Android系统获取文件名的小写字符。我希望我解释得很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-13
    • 2023-02-26
    • 1970-01-01
    • 2019-04-22
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多