gpt4 book ai didi

java - 这个简单的 Java 游戏循环有什么问题?

转载 作者:行者123 更新时间:2023-12-01 15:47:54 25 4
gpt4 key购买 nike

我已经尝试解决这个问题或寻找另一种方法大约三天了,但我无法让它发挥作用......基本我正在将游戏小程序转换为应用程序,但我无法让游戏循环工作。另外,在 NetBeans 中,我创建了一个窗口,但即使我将其设置为可见,它也不会显示。如果您有关于如何制作简单游戏循环的教程,那就太好了。我很绝望,请帮助我!

这是我的主类的代码

package MainClass;

import javax.swing.*;

public class MainClass implements Runnable{

Painter panel = new Painter();
JavaPowderToy Screen = new JavaPowderToy();
Thread t = new Thread();

public void run()
{

Initialize();

while(true)
{
try
{
panel.Paint();
Thread.sleep(15);
}
catch(Exception e)
{
e.printStackTrace();
}
}

}

void MainClass()
{
t.start();

}

public static void main(String[] args) {
MainClass Java = new MainClass();



}

private void Initialize()
{
panel.InitializePainting();
new Window().setVisible(true);
}

}

这是我的画家类(class):

    package thejavapowdertoy;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.image.BufferedImage;
import javax.swing.JPanel;


public class Painter extends JPanel implements KeyListener{



BufferedImage buffer;

public Painter()
{
setIgnoreRepaint(true);
addKeyListener(this);
setFocusable(true);
}

public void InitializePainting()
{

}

public void Paint()
{
Graphics2D b = buffer.createGraphics();
Graphics2D g = (Graphics2D)this.getGraphics();
b.setColor(Color.red);
b.fillRect(50, 50, 50, 50);
b.dispose();
g.drawImage(buffer, 0, 0, this);
Toolkit.getDefaultToolkit().sync();
g.dispose();
}

public void keyTyped(KeyEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}


public void keyPressed(KeyEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}


public void keyReleased(KeyEvent e) {
throw new UnsupportedOperationException("Not supported yet.");
}

}

谢谢

最佳答案

您的MainClass实现了Runnable,因此我假设您希望它由线程运行。然而,线程t并不知道这一点。

您需要将 MainClass 实例传递给线程的构造函数:new Thread(this);

此外,您的 Painter 面板未连接到您创建的窗口,因此它不可见。尝试创建一个 JFrameJWindow 并将画家放在其中。

关于java - 这个简单的 Java 游戏循环有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6762530/

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