所以这可能看起来很奇怪,但我正在尝试创建一个非常基本的游戏,它的工作方式有点像旧的 RPG 游戏可能具有的界面(想想从列表中选择攻击(例如:口袋妖怪))。
现在我有一个扩展 JFrame 的类,它包含三个面板的私有(private)变量:一个用于在屏幕顶部 75% 处显示 Sprite ,另外两个是我希望在其上显示文本的面板 (一个用于公告,例如“CRITICAL HIT”,另一个用于可选择的选项)。第二个文本框有时只可见,但这无关紧要。
任何人都可以让我开始或帮我一把吗?我找到了很多方法,但似乎没有一种适合我的需要。
编辑:我的游戏布局和 Sprite 面板完全按照它应该的方式工作,尽管听起来很像,但我并没有盲目地仓促行事。除了以有效的方式显示对话框外,我的游戏还在运行。
编辑 2:好吧,也许我不清楚,我最关心的是找到最好的 Java 组件来将字符串绘制到底部面板。字符串会定期更改,因此我尝试过的一些方法(例如 Graphics drawString())不是很有效。
谢谢, 罗夫哈
最佳答案
好吧,您的原始问题陈述除了“任何人都可以开始我或帮我一把吗?”之外没有任何实际的连贯性问题。这使得很难弄清楚你真正需要什么。我发现您希望我们提供的帮助是在某些事件发生时向用户显示弹出的对话框。如果您不太关心特效,可以通过三种简单的方法实现:
1) 只需为您的消息设置 sprite,并根据需要将它们设置为可见。如果您的重要消息数量有限,则可以轻松控制消息的可见性/闪烁度。
2) JTextArea 允许您简单地将一些文本打印到一个框中。如果您有一个冗长的控制台或不能简单地是一些图像的消息,这将很有用。您只需在面板中有一个 JTextArea,并根据需要更新它:
JTextArea messageBox;
messagePanel.add(messageBox);
//displays a message
messageBox.setText("CRITICAL HIT!!!");
但用户可能不会注意到文本何时更改,因为它会立即更改。您是要闪烁文本,还是要在文本区域顶部显示一些动画由您决定。
3) 如果您想要更具侵入性的消息,您实际上可以有一个弹出对话框,用户必须单击“确定”才能继续。这相对容易做到,您甚至可以为消息放置自定义图标:
http://download.oracle.com/javase/tutorial/uiswing/components/dialog.html
JOptionPane.showMessageDialog(myFrame,
"You got a critical hit!!!",
"Critical Hit",
JOptionPane.INFORMATION_MESSAGE,
criticalHitIcon);
关于Java - 创建一个 RPG 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5944657/