问题描述
首先,我给你简单描述一下我的代码。
有一个碰撞检测系统输出真 -> 有碰撞,或假 -> 没有碰撞。然后另一个函数读取 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 (将#修改为@)