【问题标题】:Pressing key at any point to make an action任意点按键进行动作
【发布时间】:2015-11-04 19:33:39
【问题描述】:

我正在用java编程,所以我必须制作一个类似游戏的程序。游戏应该能够在任何时候“暂停”。您可以在任何时候按一个键,然后显示一条消息说“游戏已暂停”吗?然后当您再次按下该键时,它会说“游戏恢复”? 谢谢

【问题讨论】:

  • 不清楚你到底想要什么。这是一款内置在 GUI 中的游戏吗?
  • 不,只是命令行

标签: java


【解决方案1】:

您似乎需要能够直接从键盘读取输入到您的游戏中?您的游戏是内置在 GUI 中还是在控制台中?

这可以通过使用 Java 提供的 KeyListener 接口来完成。 https://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyListener.html

我假设您使用 swing,所以本教程应该非常有用。 http://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html

抱歉,我无法详细说明,有关您在 cmets 中尝试执行的操作的更多信息将有助于我为您提供帮助。

编辑:您提到您正在使用命令行。要获取用户输入,您可以使用 java.util.Scanner http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html

【讨论】:

  • 扫描仪是否允许您检查是否已注册点击?我以为它只是用于文本输入?
  • 命令行没有像swing那样的事件,所以没有onClick或者keypress。没有那样的事。在OP澄清游戏在命令行中之前发布了这个答案。
  • 哦,那是我的错。我错误地阅读了这个问题,并认为他们需要以某种方式从命令行注册点击事件
  • 一切都好。如果我有观点,我会在原始帖子上对此发表评论,但我没有。浏览更多帖子,这个问题之前已经被问过,并且在这个线程中有一些相当有创意的答案。 stackoverflow.com/questions/4005574/…
  • 感谢您提供的信息。问题是我不会问用户,他/她只是随时按下一个键,程序就会打印一行“游戏暂停”。
【解决方案2】:

制作一个布尔值,isPaused。如果按下空格,则将 isPaused 从 true 切换为 false,反之亦然。如果 isPaused 为 true,则运行游戏,如果不是,则运行暂停屏幕。

【讨论】:

    猜你喜欢
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    相关资源
    最近更新 更多