微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 if 语句初始化另一个类的渲染方法后出现空指针异常

如何解决使用 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 举报,一经查实,本站将立刻删除。