gosu中的鼠标和键盘输入

在幕后,按钮由整数表示。这些整数代码依赖于平台,可能不应该进入游戏代码。为了抽象这一点,Gosu提供了许多常量供使用。...

键和按钮常数

在幕后,按钮由整数表示。这些整数代码依赖于平台,可能不应该进入游戏代码。为了抽象这一点,Gosu提供了许多常量供使用。

对于每个键盘键,都有一个Gosu::Kb*常量。对于大多数键,这些常量的名称很容易猜测。例如,箭头键是Gosu::KbLeft、Gosu::KbRight、Gosu::KbUp和Gosu::KbDown。有关完整列表,请参阅Gosu模块的文档。

鼠标按钮也有类似的常数。您将主要使用Gosu::MsLeft和Gosu::MsRight进行左键和右键单击。还通过Gosu::Gp*常量支持Gamepad。

本文是一系列文章的一部分。阅读更多关于Ruby中快速游戏原型的文章

007Ys3FFgy1gv0zxr0btdj60hs0du3yl02

面向事件的输入

输入事件被传递到Gosu::Window实例。在主循环中,在调用update之前,Gosu将为所有已按下或已释放的按钮传递事件。它通过调用button_down和button_up方法,传递按键或按钮的id来实现。

在button_down和button_up方法中,您经常可以找到case语句。除了非常实用之外,它还提供了一种非常优雅和富有表现力的方式,根据按下或释放哪个按钮来决定要做什么。下面是一个按钮按下方法的简短示例。它应该放在您的Gosu::Window子类中,并在按下escape键时关闭窗口(结束程序)。

def按钮按下(id)

简单,对吗?让我们扩展这个。这是一个玩家类。如果按下左右键,它可以左右移动。注意,这个类也有button_down和button_up方法。它们的工作方式与Gosu::Window子类中的方法类似。Gosu对Player一无所知,我们将从Gosu::Window的方法手动调用Player的方法。这里可以找到一个完整的、可运行的示例。

职业选手

本文是一系列文章的一部分。阅读更多关于Ruby中快速游戏原型的文章

查询输入

如果基于事件的输入不是您的风格,您可以查询任何Gosu::窗口,查看是否在任何时间按下任何按钮或键。您可以完全忽略按钮向下和按钮向上的回调。

要查询Gosu::窗口以查看是否按下了某个键,请按下按钮?方法,该方法具有要检查的按钮的id。别忘了这个电话中的问号!如果您调用button_down(Gosu::KbLeft),您将向Gosu::Window子类报告一次按钮按下。即使您没有定义任何回调方法,父类Gosu::Window也会。不会有错误,只是不会像你期望的那样工作。别忘了那个问号!

这是重新编写的使用按钮的玩家类?而不是事件。这里提供了一个完整的、可运行的示例。这一次,在更新方法的开头检查输入。您还会注意到,这个示例较短,但在我看来,不够优雅。

职业选手

本文是一系列文章的一部分。阅读更多关于Ruby中快速游戏原型的文章

鼠标输入

007Ys3FFgy1gv0zxsnztjj60j80f174y02

鼠标按钮的处理方式与键盘和游戏板按钮相同。你们都可以在按下按钮的情况下查询它们?以及按钮按下和按钮打开的事件。但是,只能查询鼠标移动,没有鼠标移动事件。窗口的mouse\ux和mouse\y方法提供鼠标指针的x和y坐标。

请注意,X和Y坐标是相对于游戏窗口的。例如,如果鼠标位于左上角,它将靠近坐标(0,0)。此外,如果鼠标指针完全在游戏窗口之外,它仍然会报告指针相对于窗口的位置。因此,鼠标x和鼠标y可以小于零,也可以大于窗口的宽度或高度。

以下程序将在您单击鼠标的任何位置显示新的精灵。注意,它使用事件驱动输入(用于单击)和查询驱动输入(用于获取鼠标位置)。这里有一个完整的可运行文件。

类mywindow

  • 发表于 2021-10-02 15:26
  • 阅读 ( 210 )
  • 分类:编程

你可能感兴趣的文章

如何在一台计算机上使用多个键盘和鼠标

... 齿轮设置图标允许您更改程序中的几个选项。在鼠标光标下,可以删除颜色和标签(尽管这些颜色和标签有助于区分它们),并更改光标大小和速度。选中快捷键选项卡可添加键盘快捷方式以启动或停...

  • 发布于 2021-03-14 20:36
  • 阅读 ( 433 )

7个应用程序可自定义mac控件

...触摸栏、键盘、普通鼠标、Siri遥控器等等。
 对于其中的每一个,它都提供了一系列选项。例如,使用魔术鼠标,您可以改变单击、滑动、收缩/缩放、忽略区域和多指轻触的行为。您还可以创建自己的键盘快捷键和录制键序...

  • 发布于 2021-03-29 06:13
  • 阅读 ( 266 )

如何在ipad或iphone上使用鼠标

...按钮的列表。点击每个按钮并指定输入类型。 如果鼠标中的按钮比列表中的按钮多,可以点击“自定义其他按钮”进行配置。将要求您按鼠标上的一个按钮,然后选择一个操作。继续操作,直到您将鼠标配置为所需的方式。 在...

  • 发布于 2021-04-03 03:50
  • 阅读 ( 202 )

chromebook辅助功能指南

...钮将可用。单击它打开展开的视图。 您可以单击此菜单中的任何可用功能来启用它们。但是,如果您不确定某个特定功能的功能,我们会让您继续阅读,以获得每个功能的全部详细信息。 文本到语音功能 本节中的两个特性...

  • 发布于 2021-04-03 12:11
  • 阅读 ( 181 )

如何在mac上设置蓝牙键盘或鼠标

...果您只有一个键盘,您仍然可以通过使用“系统首选项”中的Tab键在选项之间循环来设置蓝牙鼠标。 要开始,首先要确保Mac上的蓝牙已打开,并且无线设备已为电池充电。 配对您的设备 从菜单栏右上角的下拉列表中打开蓝牙...

  • 发布于 2021-04-04 06:10
  • 阅读 ( 218 )

以下是鼠标和键盘支持在xbox one上的工作方式

微软刚刚推出了对xboxone的鼠标和键盘支持,以及对Alpha环成员的支持。由于这是目前正在测试的“1811”系统更新的一部分,每个人都应该在2018年11月收到。 不过,请慢一点:你不会在11月份的所有Xbox One游戏中都使用鼠标和键...

  • 发布于 2021-04-04 08:17
  • 阅读 ( 180 )

如何在多台计算机上使用logitech flow的鼠标和键盘

...通过蓝牙或Logitech统一接收器进行配对。单击Logitech选项中的“添加设备”,如果您使用USB加密狗,则单击“添加统一设备”,如果您使用蓝牙,则单击“添加蓝牙设备”。 对于统一的设备,请按照屏幕上的说明操作;对于蓝牙...

  • 发布于 2021-04-07 12:10
  • 阅读 ( 504 )

如何使用synergy使用一个键盘控制多台PC机

...的锁,系统将询问您的密码。之后,您可以选中右侧面板中的“Synergy”框。 最后,Linux用户应该避免直接下载程序,而是使用包管理器来安装Synergy。Ubuntu用户可以键入sudo-apt-install-synergy来安装该程序;如果您使用不同的发行版...

  • 发布于 2021-04-07 13:07
  • 阅读 ( 195 )

如何使用键盘控制windows中的鼠标光标

...择“轻松访问鼠标设置”。这将以较少的选项打开PC设置中的易访问屏幕。 在“控制面板”窗口的“轻松访问中心”上,单击“浏览所有设置”下的“使鼠标更易于使用”。 如果您只想启用默认设置的鼠标键,可以选中“打开...

  • 发布于 2021-04-08 17:56
  • 阅读 ( 253 )

如何将物理键盘连接到xbox one

...需将键盘**控制台上的一个USB端口,可以是后面两个端口中的一个,也可以是左侧靠近光盘插槽的一个。 如果您的无线键盘带有USB加密狗,请将USB加密狗**您的Xbox One。 你的键盘应该能立即工作。您不会看到弹出的通知,并且没...

  • 发布于 2021-04-09 12:22
  • 阅读 ( 198 )
wzwd5688
wzwd5688

0 篇文章

相关推荐