当我制作Android运行文件时,无法读取。

问题描述 投票:0回答:1

你好,我在安卓系统中运行我的项目时遇到了问题,在桌面上运行一切正常。我在桌面上的工作目录在 "ProjecktGKLibGDX\android\assets "的位置(所以和安卓的默认值一样),当我在安卓上运行换算器时,它以错误的方式崩溃,而不是其中一个文件找不到(menu.png)。我使用Atlas来制作Sprites,它的工作原理是这样的:Atlas= new TextureAtlas("Menu.atlas");这是我的Atlas文件。

menu.png
format: RGBA8888
filter: Nearest,Nearest
repeat: none
EXIT
  rotate: false
  xy: 1, 418
  size: 900, 415
  orig: 900, 415
  offset: 0, 0
  index: -1
LOAD
  rotate: false
  xy: 1, 1
  size: 900, 415
  orig: 900, 415
  offset: 0, 0
  index: -1

menu2.png
format: RGBA8888
filter: Nearest,Nearest
repeat: none
PLAY
  rotate: false
  xy: 1, 418
  size: 900, 415
  orig: 900, 415
  offset: 0, 0
  index: -1
SAVE
  rotate: false
  xy: 1, 1
  size: 900, 415
  orig: 900, 415
  offset: 0, 0
  index: -1

menu3.png
format: RGBA8888
filter: Nearest,Nearest
repeat: none
open_menu
  rotate: false
  xy: 1, 1
  size: 512, 512
  orig: 512, 512
  offset: 0, 0
  index: -1

Atlas和png图片在同一个文件夹里("ProjecktGKLibGDX\android\assets"),所以android可以读取Atlas文件,但不能读取png文件。

    com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: menu.PNG
        Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Error reading file: menu.PNG (Internal)
        Caused by: java.io.FileNotFoundException: menu.PNG
libgdx
1个回答
1
投票

你的错误信息 "Error reading file: menu.PNG (Internal) "意味着它可能与使用LibGDX文件类型 "Internal "有关。如果你用一个字符串创建一个TextureAtlas,它将自动使用 "内部 "文件类型创建图集。https:/libgdx.badlogicgames.comcinightliesdocsapicombadlogicgdxgraphicsg2dTextureAtlas.html#TextureAtlas-java.lang.String-。

在桌面上,内部文件和本地文件类型基本上是一样的,所以这些并不重要,但在Android上,它们是不同的。你可以在这里阅读更多关于不同文件类型的信息。https:/github.comlibgdxlibgdxwikiFile-handling(文件处理)

试试换行。

atlas= new TextureAtlas("Menu.atlas");

改成:

atlas = new TextureAtlas(Gdx.files.local("Menu.atlas"));

0
投票

可能是因为menu.PNG不存在。检查你的资产,确保你的文件名是 "menu.PNG"。

© www.soinside.com 2019 - 2024. All rights reserved.