keyboard_set_map

有时,在制作游戏时,您可能希望一个键与另一个键执行相同的操作。例如,许多人使用WASD键移动,但许多人使用箭头键!那么,该怎么办?嗯,你可以编程移动系统两次,但这有点复杂,而且谢天谢地,这是多余的,因为此函数允许您将一个键“映射”到另一个键,因此来自任何一个键的任何输入都将被解释为相同。要执行此操作,请选择要映射的键(键2-这将是您为其编写代码的键)和您希望将其映射到的键(key1)。之后,对任何一个键的按键都将被GameMaker解释为来自Key2。您也可以使用此函数进行设计在该系统中,用户可以通过简单地将用户输入键映射到您已编码到游戏中的键来定义他们自己的游戏键。

该函数采用函数 ord() 返回的键码值 (仅 a-Z 的大写字母 或 0-9 的数字),或在主键盘输入页面上列出的 vk_* 常量中的任何一个。

重要! 您要映射到 (key1) 的键将不再可用,因为它是实际的键符号,一旦您使用此函数。例如,如果将向上箭头映射到 "W",则您将不再能够检测到按下将 "W" 键视为 "W",它将始终被视为上箭头。要撤消此操作,请将键映射到自身-因此 key1 和 key2 均为 ord("W")- 或使用函数 keyboard_unset_map()

 

语法:

keyboard_set_map(key1, key2);

参数类型描述
key1Virtual Key Constant (vk_*)这是key1要映射到的键
key2Virtual Key Constant (vk_*)这是要映射的键

 

返回:

Boolean

 

示例:

keyboard_set_map(ord("A"), vk_left);

上面的示例代码将 “A” 键映射到左箭头键。这意味着玩家可以使用 “A”左箭头键,并且为左箭头编写的所有代码也将响应 “A”正在使用的键。