【问题标题】:Java - Creating an RPG dialogJava - 创建一个 RPG 对话框
【发布时间】:2011-05-10 11:21:53
【问题描述】:

所以这可能看起来很奇怪,但我正在尝试创建一个非常基本的游戏,它的工作方式有点像旧的 RPG 游戏的界面(想想从列表中选择攻击(例如:口袋妖怪))。

现在我有一个扩展 JFrame 的类,它包含三个面板的私有变量:一个用于在屏幕顶部 75% 处显示精灵,另外两个是我希望在其上显示文本的 (一个用于公告,例如“CRITICAL HIT”,另一个用于可选选项)。第二个文本框有时只可见,但这无关紧要。

任何人都可以让我开始或帮助我吗?我找到了很多方法,但似乎没有一种方法可以满足我的需求。

编辑:我的游戏已经布局,精灵面板完全按照它应该的方式工作,尽管听起来很像,但我不会盲目地进行任何事情。除了以有效的方式显示对话框之外,我的游戏正常运行。

编辑 2:好吧,也许我不清楚,我最关心的是找到最好的 Java 组件来将字符串绘制到底部面板。字符串会定期更改,因此我尝试过的一些方法(例如 Graphics drawString())不是很有效。

谢谢你, 罗夫拉

【问题讨论】:

  • 您是否清楚要完成游戏需要采取哪些步骤?我建议您写下您对这款游戏的所有想法,制作一些(或很多)草图或故事板,然后深入研究编码
  • 我已经准备好了所有其他的东西,它甚至不是一个大游戏,可能有 4 或 5 个选项,仅此而已,我只需要知道这个细节。
  • 有点太模糊,无法得到好的答案。你需要有一些想法并提出更具体的问题。比如“如何让 JPanel 占据 JFrame 的 75%?”
  • 我实际上并没有问那部分。该部分与动画精灵一起工作正常。
  • "字符串会定期变化,所以我尝试过的一些方法,例如 Graphics drawString() 不是很有效。"如果 UI 是定期绘制的,那就没有意义了。

标签: java swing graphics text


【解决方案1】:

嗯,您最初的问题陈述没有任何实际连贯的问题,除了“有人可以让我开始或帮我一把吗?”这使得很难弄清楚你真正需要什么。我发现您需要我们的帮助是在某些事件发生时显示向用户弹出的对话框。如果您不太在意特殊效果,可以通过三种简单的方法来做到这一点:

1) 只需为您的消息添加精灵,并根据需要将它们设置为可见。如果您的重要消息数量有限,则可以轻松控制消息的可见性/闪光度。

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);

【讨论】:

    猜你喜欢
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多