gpt4 book ai didi

java - 在 Java 中构建游戏 GUI

转载 作者:行者123 更新时间:2023-11-30 07:05:39 24 4
gpt4 key购买 nike

我正在用 Java 为我正在开发的虚拟宠物游戏构建 GUI,到目前为止我的主要问题是建立获得我想要的结果的最佳方法。

基本上我有这样的基本设置

JFrame(主框架)Jpanel (MainPanel) 这个面板位于 Jframe 上然后我将更多面板添加到主面板menuPanel 和 gamePanel - 我使用 cardLayout 在面板之间切换

MenuPanel 提供了启动游戏/加载/帮助/退出的基本菜单(运行正常)。

GamePanel 是我遇到问题的地方。

我想提供一个屏幕让玩家输入数据(petName、Type 等)我不知道这是否是最好的方式,因为我也希望他们能够检查详细信息是否正确,如果不正确,则允许他们重新输入。

我遇到的另一个问题是我想要这样的设置

宠物区(背景、宠物动画)在这个保持静态的按钮下方。

vvvvvvvvvvvvvvvvvvvvv
v v
v v
v Pet Area v
vvvvvvvvvvvvvvvvvvvvv
v v
v buttons v
vvvvvvvvvvvvvvvvvvvvv

我尝试在 gamePanel 上添加两个面板 - graphicPanel 和 buttonPanel,但 netbeans 在面板层次结构方面存在问题。

如果有人做过类似的项目并且可以给我一些编码方面的建议,我将不胜感激。它会以这种方式工作,但它看起来很困惑且效率低下。

最佳答案

The other problem I have is I want a setup like this

我会做这样的事情:

public class gamePanel extends JPanel{
private ButtonsPanel buttonsPanel;
private GraphicsPanel graphicsPanel;

public gamePanel(){
super();
this._initGUI();
}
private void _initGUI(){
this.buttonsPanel = new ButtonsPanel();
this.graphicsPanel = new GraphicsPanel();

this.setLayout(new BorderLayout());
this.add(buttonsPanel, BorderLayout.SOUTH);
this.add(graphicsPanel, BorderLayout.CENTER);
}

public void run(){
graphicsPanel.run();
}
}

public class GraphicsPanel extends JPanel(){

public void run(){
// this method could be called from the game loop.

// ....
// ....

this.repaint();
}

@Override
public void paint(Graphics g){
// here paint all graphics
}
}

public class ButtonsPanel extends JPanel{
public ButtonsPanel(){
super();
this._initGUI();
}

private void _initGUI(){
// here add all the buttons you want..
}
}

我不知道这是否是最好的方法,但它工作正常

关于java - 在 Java 中构建游戏 GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26458439/

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