Bor*_*ris 10 android textures assets filenotfoundexception libgdx
我正在使用libgdx构建一个小小的Android游戏.现在我在桌面项目文件夹和Android项目文件夹中有一个游戏资产的副本.出于某些奇怪的原因,我必须在两个版本中的每一个中以不同方式访问这些文件.
这在桌面应用程序中工作正常,但在Android应用程序中给我一个FileNotFound异常:
Texture texture = new Texture(Gdx.files.internal("assets/someImage.png"));
Run Code Online (Sandbox Code Playgroud)
如果我从文件名中删除"资产",那么反过来(Android工作,桌面崩溃):
Texture texture = new Texture(Gdx.files.internal("someImage.png"));
Run Code Online (Sandbox Code Playgroud)
我不确定问题是什么.两个项目的文件夹结构完全相同... libgdx的正确方法是什么?
Dea*_*ano 10
您应该将所有资产存储在Android资源文件夹中,并将桌面项目链接到该文件夹.有关此内容的快速说明,请访问http://www.badlogicgames.com/wordpress/?p=1537
编辑:官方项目安装教程也描述了如何执行此操作.它位于http://code.google.com/p/libgdx/wiki/ProjectSetup#Asset_folder_setup
除了项目设置,我相信你的第二种方法是引用两个项目资产的正确方法.修复设置后,它应该在两种环境中都能正常工作.
桌面项目的资产文件夹,也可以选择与摇篮-这行添加到build.gradle的desktop文件夹:
sourceSets.main.resources.srcDirs = [ "../android/assets/" ]
Run Code Online (Sandbox Code Playgroud)
或者,如果您没有生成Android项目:
sourceSets.main.resources.srcDirs = [ "../core/assets/" ]
Run Code Online (Sandbox Code Playgroud)
这应该在运行eclipse/ ideaGradle任务时正确链接Eclipse和IntelliJ中的文件夹.与创建链接或手动将文件夹添加到源相比,我认为这是迄今为止最容易设置和管理的.