Libgdx无法加载纹理问题。

3

无法加载任何纹理,之前正常,现在不行了,不知道原因。

import com.badlogic.gdx.graphics.Texture;

public class MiJuego implements ApplicationListener {
public Texture textura = new Texture(Gdx.files.internal("prueba.png"));

@Override
public void create() {
    // TODO Auto-generated method stub

}

主线程中出现异常:java.lang.NullPointerException

错误发生在 com.alex.version1.MiJuego.(MiJuego.java:16) 处

在该行代码中创建纹理(texture),但测试多个项目均未成功。图片位于我的 Android 项目的资源(asset)文件夹中。


请发布完整的堆栈跟踪。 - William Reed
1个回答

5

可以尝试以下方法:

public class MiJuego implements ApplicationListener {
public Texture textura;

@Override
public void create() {
    textura = new Texture(Gdx.files.internal("prueba.png"))
    ...
}

您是在ApplicationListener加载时创建纹理,而不是创建时间。此时Libgdx未初始化,因此任何Gdx.xxx调用都会抛出NullPointerException异常。


好的,我太蠢了,没意识到 :P 那么我只能在 create 方法中使用那个纹理吗? - Alejandro Garcia
在ApplicationListener的create方法内和之后 :) 之后,libgdx被初始化,您可以在任何地方使用它。 - Daahrien
顺便提一下,如果您觉得这个答案有用,请考虑接受它 :) - Daahrien

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接