Java libgdx--Gdx.files.internal()--&燃气轮机;找不到文件
我在使用libgdx中的Gdx.files.internal()时遇到问题; 似乎每次我将其作为桌面应用程序运行时,都会出现以下主要错误: 原因:com.badlogic.gdx.utils.GdxRuntimeException:未找到文件: \data\sounds\music\mainmusic.mp3(内部)位于 com.badlogic.gdx.files.FileHandle.read(FileHandle.java:136)位于 com.badlogic.gdx.backends.lwjgl.audio.Mp3$Music.(Mp3.java:42) ... 10多 我在这件事上读了5条不同的线索,其中一条似乎是最有可能出现的问题,所以我试着Java libgdx--Gdx.files.internal()--&燃气轮机;找不到文件,java,eclipse,audio,libgdx,desktop,Java,Eclipse,Audio,Libgdx,Desktop,我在使用libgdx中的Gdx.files.internal()时遇到问题; 似乎每次我将其作为桌面应用程序运行时,都会出现以下主要错误: 原因:com.badlogic.gdx.utils.GdxRuntimeException:未找到文件: \data\sounds\music\mainmusic.mp3(内部)位于 com.badlogic.gdx.files.FileHandle.read(FileHandle.java:136)位于 com.badlogic.gdx.backends.
final FlipcrewLegends game;
Texture splashTexture;
Sprite splashSprite;
SpriteBatch batch;
TweenManager manager;
Music introMusic;
public SplashScreen(FlipcrewLegends game) {
this.game = game;
introMusic = Gdx.audio.newMusic(Gdx.files.internal("data/sounds/music/mainmusic.mp3"));
introMusic.setLooping(true);
}
然而,这似乎起了作用
路径:/Flipcrew Legends desktop/assets/data/images/main/splash.png
//类的其余部分被省略b/c它似乎没有必要(如果需要,我可以添加它)
//不幸的是,Gdx.audio.newMusic似乎没有直接的字符串路径方法,所以我无法尝试
其他信息:
->我尝试从core复制桌面文件夹中的assets文件夹,但没有成功(之后删除)
->一个帖子说libgdx通常从android文件夹中获取数据,然后将其应用到桌面(不幸的是,我开始只使用桌面,没有android),但我猜libgdx从那篇文章的最后一天起每晚都在更新,也许已经添加了替代方案
编辑:
新纹理(路径);
也会出现相同的错误-仍然不起作用…上面重试的方法在发布后将重新启动计算机,可能是编译问题libGDX使用链接文件夹。您只需要将文件复制到您的一个资产文件夹中(在eclipse中执行此操作,而不是在文件资源管理器中)对我有效的是,我必须进入资产->构建路径->配置包含/排除。我必须将所有需要的文件夹和文件添加到包含部分。答案是针对LibGDX之外的,因为有人已经回答了最初的问题。答案可能有助于处理LibGDX之外的文件 假设: 软件包存在…苹果、橘子、葡萄。正在尝试使用相对路径
- “/Apple/Temp1.txt”
- “/Orange/Temp2.txt”
- “/Grape/Temp3.txt”
- 我在Android Studio上也遇到了同样的问题。我为每个资产应用了直接路径
“C:\Users\Admin\Desktop\test1\android\assets/starfish.png”
我为我的游戏实现了i18n,无法加载特定的文件。这种方式看起来很奇怪,但实际上很有效。这很奇怪,但开头没有“/”
FileHandle.list()
包含了一些很久以前删除的文件,可能是从某个缓存中删除的,重建项目或使缓存无效没有帮助-但仅在某些设备上。然后,再次添加/可能只是使其他缓存无效
@Override
public void show() {
splashTexture = new Texture("data/images/main/splash.png");
splashTexture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
splashSprite = new Sprite(splashTexture);
splashSprite.setColor(1, 1, 1, 0);
}
enter public void create()
{
batch = new SpriteBatch();
turtleTexture = new Texture( Gdx.files.internal("C:\\Users\\Admin\\Desktop\\test1\\android\\assets/starfish.png") );
turtleX = 20;
turtleY = 20;
turtleRectangle = new Rectangle( turtleX, turtleY,
turtleTexture.getWidth(), turtleTexture.getHeight() );
starfishTexture = new Texture( Gdx.files.internal("C:\\Users\\Admin\\Desktop\\test1\\android\\assets/starfish.png") );
starfishX = 380;
starfishY = 380;
starfishRectangle = new Rectangle( starfishX, starfishY,
starfishTexture.getWidth(), starfishTexture.getHeight() );
oceanTexture = new Texture( Gdx.files.internal("C:\\Users\\Admin\\Desktop\\test1\\android\\assets/water.jpg") );
winMessageTexture = new Texture( Gdx.files.internal("C:\\Users\\Admin\\Desktop\\test1\\android\\assets/you-win.png") );
win = false;
}