You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LibGDX添加角色后应用崩溃求助(Bird.png相关问题)

解决LibGDX添加角色后应用崩溃的问题

嘿,作为LibGDX新手,这个小坑真的很容易踩!我一眼就发现你代码里的问题啦👇

问题核心

你在create()方法里犯了一个变量赋值的错误:你把background变量重复赋值成了bird.png,但bird变量完全没有被初始化!

看你这段代码:

@Override
public void create () {
 batch = new SpriteBatch();
 background = new Texture("background.png");
 background = new Texture("bird.png"); // 这里把background的引用覆盖成了bird纹理
 // 关键:bird变量从头到尾没被赋值,一直是null!
}

而在render()方法里你调用了batch.draw(bird, ...),这时候bird还是null,程序直接触发空指针异常(NullPointerException),这就是你看到应用崩溃的原因。

修复方法

只需要把bird变量正确初始化,别再覆盖background了,修改create()方法:

@Override
public void create () {
 batch = new SpriteBatch();
 background = new Texture("background.png");
 bird = new Texture("bird.png"); // 给bird变量单独赋值
}

额外小建议

LibGDX的Texture属于需要手动释放的资源,为了避免内存泄漏,记得添加dispose()方法来清理资源:

@Override
public void dispose () {
 batch.dispose();
 background.dispose();
 bird.dispose();
}

这样修改后,你的应用就能正常显示背景和小鸟角色啦!

内容的提问来源于stack exchange,提问作者Volker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:45:52