设备输入

当您的游戏针对那些允许多点触控的平台时,您应该使用这些函数。如果PC连接了多个鼠标,并且所检查的常量与标准鼠标函数所使用的常量相同,它们的工作方式与PC的工作方式相同:

鼠标按钮常量
常量描述
mb_leftThe left mouse button
mb_middleThe middle mouse button (this may not be valid for all target platforms)
mb_rightThe right mouse button
mb_side1*Mouse side button 1
mb_side2*Mouse side button 2
mb_anyAny of the mouse buttons
mb_noneNo mouse button

*注意mb_side1mb_side2按钮仅用于Windows,macOS,Ubuntu和HTML5。

这些函数都可以采用与设备显示器上的触摸相对应的 “触摸” 值,但是可以检测到的最大触摸数将在很大程度上取决于正在运行的设备和OS。例如,某些低端Android设备可能只能同时检测2或3次触摸,而Windows设备可能最多可以检测到10次触摸。

在触摸屏设备上,双击返回,相当于鼠标右键事件。因此,例如,如果您需要快速连续检测多个轻击,则需要同时检查mb_leftmb_right。可以使用device_mouse_dbclick_enable()打开或关闭此函数。

您可以在下面找到所有设备特定控制函数的列表:

 

请注意,在移动设备 (Android,iOS 和 Windows Phone) 上,您可以随时使用后退按钮,由于它被映射到键盘 backspace,后者是 GameMaker 键盘常量 vk_backspace, 因此您可以检查该键并在这些设备上执行操作,就像使用了后退按钮一样。

关于鼠标坐标的备注

鼠标坐标每帧都会更新,但是有些平台 (如 macOS) 使用事件处理程序来捕获鼠标位置。

这意味着可能存在鼠标移动的帧,但其位置保持不变 -- 这意味着在当前帧和前一帧之间没有鼠标事件。

因此,您可能会遇到鼠标坐标与前一帧相同的帧,具体取决于平台。