1

我正在关注libgdx 上的本教程,但遇到了一些问题。我刚刚完成了“加载资产”部分。当我尝试运行它时,并没有像教程声称的那样得到雨声和粉红色背景,而是在 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:无法加载文件:com.badlogic.gdx.backends.lwjgl.LwjglApplication$1 处的 droplet.PNG。运行(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。在 com.badlogic.gdx.graphics.Texture 的 com.badlogic.gdx.graphics.Texture.create(Texture.java:159) 加载(Texture.java:175)。(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 ) at 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) at com.badlogic.gdx.graphics.Pixmap.(Pixmap.java:137) ... 还有 8 个

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

4

1 回答 1

3

当你使用

Gdx.files.internal <- 这只会让您进入资产文件夹。您还必须将它定向到您想要文件的任何子目录中。

并且您的文件在资产/数据使用中

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

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

于 2013-07-22T06:48:49.830 回答