gpt4 book ai didi

java - 如何调用包含 Graphics g 的函数

转载 作者:行者123 更新时间:2023-12-02 02:34:21 25 4
gpt4 key购买 nike

我想知道如果我的程序中发生某种情况,如何调用包含 Graphics 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);
}

我如何从其他地方调用它?我尝试做 dead();但它说此方法不适用于此参数。提前致谢!

编辑:这是我的 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);

最佳答案

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

在显示您的画作的面板中,您将看到如下内容:

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

顺便说一句,您可能不想将与绘画无关的代码包含到 dead(g) 方法中,例如:

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

只要有可能,就让你的绘画方法远离其他非绘画相关的代码。在极端情况下,杂乱可能会导致显示滞后。

关于java - 如何调用包含 Graphics g 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46616009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com