如何解决使用 if 语句初始化另一个类的渲染方法后出现空指针异常
首先,我给你简单描述一下我的代码。
有一个碰撞检测系统输出真 -> 有碰撞,或假 -> 没有碰撞。然后另一个函数读取 true 或 false 语句并决定做什么。我想要它 1. drawString -> "YOU SURVIVED" xxx "Rounds" 2. 结束线程。
我能够正确结束线程,但是对于 #2,我创建了一个新方法,其唯一目的是在游戏结束后将字符串绘制到屏幕上。
(我使用“RoundTimer”方法,这样drawString格式更清晰)
然而,一旦发生碰撞,游戏结束线程但不显示字符串,输出“NULL POINTER EXCEPTION”,指向render方法。
(go 是我在实例化后为“GameOver”类设置的名称)
public void move() {
if(!CheckEntityCollisions(xMove,0f) ) {
xMove();
}
if(!CheckEntityCollisions(0f,yMove) ) {
yMove();
}
if(CheckEntityCollisions(xMove,0f) ) {
go.render(g);
Thread.currentThread().stop();
}
if(CheckEntityCollisions(0f,yMove) ) {
go.render(g);
Thread.currentThread().stop();
}
}
public class GameOver {
private int time = 0;
public void render(Graphics g){
RoundTimer.drawString(g,"YOU SURVIVED " + (time/500) + " ROUNDS",700,300,true,[Color.red](https://Color.red),new Font("Arial",Font.BOLD,90));
}
public void tick() {
time++;
}
}
如果您需要更多信息,这里是 github -> https://github.com/TheLandStander/RunFromZombiesGame
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。