【问题标题】:GdxRuntimeException: File not foundGdxRuntimeException:找不到文件
【发布时间】:2013-07-20 19:45:07
【问题描述】:

我正在关注 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 和音乐文件。它们都在那里,但代码没有看到它们。知道是什么原因造成的吗?

【问题讨论】:

  • 如果文件在assets/data,请尝试使用dropImage = new Texture(Gdx.files.internal("data/droplet.png"));

标签: java android libgdx


【解决方案1】:

当你使用时

Gdx.files.internal

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

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

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

【讨论】:

  • 谢谢。我假设由于原始资产在数据之下,那是资产去向的地方。
  • 是的,当我开始使用 libgdx 时,我也做过同样的教程。如果您有任何其他问题,请在我的聊天中找到我:Chat
猜你喜欢
  • 2011-12-08
  • 1970-01-01
  • 2013-05-10
  • 1970-01-01
  • 2021-12-26
  • 2017-07-17
  • 1970-01-01
  • 1970-01-01
  • 2014-04-09
相关资源
最近更新 更多