我已经坚持了很长时间。
所以我正在使用某人的 AsciiPanel 库。它是一个库,当 AsciiPanel 添加到 JFrame 时,将创建一个带有 Ascii 图形的 80x24 旧式 Windows 命令行(用于 roguelikes 等)。
我正在尝试将 AsciiPanel 添加到 JFrame。
问题是,我认为我没有在任何地方创建 JFrame。我不想在任何奇怪的地方添加它并使代码在以后变得不可读/非常规,所以我决定在这里询问社区。这是代码:
package com.base.engine;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import com.base.game.Game;
import asciiPanel.AsciiPanel;
public class Main extends JFrame{
/**
*
*/
private static final long serialVersionUID = 1L;
private static AsciiPanel asciiPanel;
private static Game game;
public boolean gameRunning = true;
public Main() {
initDisplay();
initGame();
gameLoop();
}
private void initDisplay() {
asciiPanel = new AsciiPanel();
add(asciiPanel);
pack();
}
private static void initGame() {
// TODO Auto-generated method stub
game = new Game();
}
private void gameLoop() {
while(gameRunning = true) {
game.getInput();
game.update();
game.redraw();
}
}
void windowClosing(WindowEvent e) {
gameRunning = false;
}
public static void main(String[] args) {
Main game = new Main();
game.setDefaultCloseOperation(EXIT_ON_CLOSE);
game.setVisible(true);
}
}
我还认为 gameLoop() 可能是搞砸了它,因为我认为在我添加它之前它工作得很好。
感谢您提供任何信息。