如何调用包含图形的函数 g.



我想知道如果我的程序中发生某些事情,如何调用包含图形 G 的函数。

public void dead (Graphics g) {
    right = false;
    left = false;
    up = false;
    down = false;
    dead = true;
    score = 0;
    moves = 0;
    g.setColor(Color.WHITE);
    g.setFont(new Font("arial", Font.BOLD, 50));
    g.drawString("Game Over", 300, 300);
    g.setFont(new Font("arial", Font.BOLD, 20));
    g.drawString("Press "Space" To Restart", 312, 340);
}

我如何从其他地方称呼它?我试着做死();但它说这种方法不适用于这个论点。提前感谢!

编辑:这是我的JFrame:

    JFrame obj = new JFrame("Snake");
    gameplay gameplay = new gameplay(); 
    obj.setBounds(10, 10, 905, 700);
    obj.setBackground(Color.DARK_GRAY);
    obj.setResizable(false);
    obj.setVisible(true);
    obj.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    obj.add(gameplay);
这个

dead(g) 方法我们应该在 paintComponent(Graphics g) 中调用,以便在蛇死时更新屏幕:

在显示您的画作的面板中,您将拥有如下所示的内容:

@Override
public void paintComponent(Graphics g){
    super.paintComponent(g):
    if(gameOver)
        dead(g);
}

顺便说一下,您可能不希望在dead(g)方法中包含与绘画无关的代码,例如:

right = flase:
left = flase;
...
score = 0;
moves = 0;

尽可能保持您的绘画方法与其他非绘画相关的代码杂乱无章。在极端情况下,杂乱无章可能会导致显示器滞后。

最新更新