我正在关注libgdx上的this教程,但遇到了一些麻烦。我刚刚完成了“加载资产”部分。当我尝试运行它时,没有像教程中所说的那样发出雨声和粉红色背景,而是在wazoo中出现错误。这是我的Drop.java:

package com.badlogic.drop;

import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.audio.Music;
import com.badlogic.gdx.audio.Sound;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.Texture;

public class Drop implements ApplicationListener {

    Texture dropImage;
    Texture bucketImage;
    Sound dropSound;
    Music rainMusic;


    @Override
    public void create() {
        // load the images for the droplet and the bucket, 64x64 pixels each
          dropImage = new Texture(Gdx.files.internal("droplet.png"));
          bucketImage = new Texture(Gdx.files.internal("bucket.png"));

          // load the drop sound effect and the rain background "music"
          dropSound = Gdx.audio.newSound(Gdx.files.internal("drop.wav"));
          rainMusic = Gdx.audio.newMusic(Gdx.files.internal("rain.mp3"));

          // start the playback of the background music immediately
          rainMusic.setLooping(true);
          rainMusic.play();

    }

    @Override
    public void dispose() {
    }

    @Override
    public void render() {
        Gdx.gl.glClearColor(1, 1, 1, 1);
        Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

    }

    @Override
    public void resize(int width, int height) {
    }

    @Override
    public void pause() {
    }

    @Override
    public void resume() {
    }
}


这是我的错误。 (我认为重要的部分以粗体显示)

线程“ LWJGL应用程序”中的异常com.badlogic.gdx.utils.GdxRuntimeException:com.badlogic.gdx.utils.GdxRuntimeException:无法加载文件:droplet.PNG
    在com.badlogic.gdx.backends.lwjgl.LwjglApplication $ 1.run(LwjglApplication.java:113)
引起原因:com.badlogic.gdx.utils.GdxRuntimeException:无法加载文件:droplet.PNG
    在com.badlogic.gdx.graphics.Pixmap。(Pixmap.java:140)
    在com.badlogic.gdx.graphics.glutils.FileTextureData.prepare(FileTextureData.java:64)
    在com.badlogic.gdx.graphics.Texture.load(Texture.java:175)
    在com.badlogic.gdx.graphics.Texture.create(Texture.java:159)
    在com.badlogic.gdx.graphics.Texture。(Texture.java:133)
    在com.badlogic.gdx.graphics.Texture。(Texture.java:122)
    在com.badlogic.drop.Drop.create(Drop.java:21)
    在com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:127)
    在com.badlogic.gdx.backends.lwjgl.LwjglApplication $ 1.run(LwjglApplication.java:110)
引起原因:com.badlogic.gdx.utils.GdxRuntimeException:找不到文件:droplet.PNG(内部)
    在com.badlogic.gdx.files.FileHandle.read(FileHandle.java:127)
    在com.badlogic.gdx.files.FileHandle.length(FileHandle.java:580)
    在com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:215)
    在com.badlogic.gdx.graphics.Pixmap。(Pixmap.java:137)
    ...另外8个

奇怪的是,我在资产/数据文件夹中拥有所有的PNG和音乐文件。它们都在那里,但是代码看不到它们。知道是什么原因造成的吗?

最佳答案

使用时

Gdx.files.internal
并且您的文件在资产/数据使用中

Gdx.files.internal("data/droplet.png")

确保将所有其他引用也更改为正确的位置。

关于java - GdxRuntimeException:找不到文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17781392/

10-11 22:28