gpt4 book ai didi

Java - Paint、JFrame 和背景

转载 作者:行者123 更新时间:2023-11-30 11:57:29 25 4
gpt4 key购买 nike

我正在尝试为我的游戏绘制一个欢迎屏幕,但仅限于游戏加载时。我不希望它在游戏过程中每次都重新绘制。

所以我这样做了(其中 isStart 被实例化为 true):

public myClass(String name){
setSize(800, 800);
setVisible(true);
setResizable(false);
runGame()
}

public void paint(Graphics g) {
if(nowStarting)
g.drawImage(WelcomeGameScreen, 0, 0, null);
isStart = false;
}

问题是图像会弹出一秒钟然后消失?奇怪的是,当我省略 if 语句/isStart 条件时它会起作用。这有什么问题吗?

最佳答案

我猜你没有逐字复制代码,上面的代码有错误。如果你的代码是我认为的那样......

public void paint(Graphics g) {
if(isStart)
g.drawImage(WelcomeGameScreen, 0, 0, null);
isStart = false;
}

然后在开始时它会绘制您的启动画面。但是,因为您随后将 isStart 设置为 false,所以下次调用 paint 时,将不再绘制图像。每当操作系统告诉屏幕需要刷新时(以及当您强制重新绘制时),都会调用 paint 方法。

解决这个问题的方法是,当游戏完成加载时,在您的应用程序中将 isStart 设置为 false,然后调用 repaint。

关于Java - Paint、JFrame 和背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3785909/

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