gamepad_test_mapping


描述

此函数可用于在允许它的目标上设置游戏手柄映射。你提供要设置的游戏手柄的 “插槽” 索引,然后提供应使用 SDL 格式创建的映射字符串,其中包含以下字段:

<guid>,<description>,platform:<platform-name>,<bindings>

应包含在每个字段中的详细信息包括:

逗号分隔的条目列表遵循每个条目的特定格式:

<abstract-gp-name>:<value-binding>

这里 <value-binding>(即:直接 direct 手柄输入)可以是以下任何一种:

每个输入值都应绑定到 SDL 名称,该名称表示为 < abstract-gp-name>,后者又绑定到 GML 常量。下表显示了 SDL 名称与 GameMaker Studio 2 常量之间的等效性:

SDL Name GML Name
a gp_face1
b gp_face2
x gp_face3
y gp_face4
左肩 gp_shoulderl
左触发器 gp_shoulderlb
右肩 gp_shoulderr
右触发器 gp_shoulderrb
guide gp_select
start gp_start
leftstick gp_stickl
rightstick gp_stickr
dpup gp_padu
dpdown gp_padl
dpleft gp_padr
dpright gp_padd
leftx gp_axislh
lefty gp_axislv
rightx gp_axisrh
righty gp_axisrv


构建映射字符串后,它应如下所示:

"050000005e040000fd020000ffff3f00,Xbox Wireless Controller,a:b0,b:b1,start:b4,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,x:b2,y:b3,platform:android"


语法:

gamepad_test_mapping(index, mapping_string);

参数 描述
index 设置哪个游戏手柄 “插槽” 索引。
colour 要使用的映射字符串(有关详细信息,请参阅说明)。


返回:

N/A(无返回值)


例如:

var mapping = gamepad_get_guid(global.padIndex) + "," + gamepad_get_description(global.padIndex);
var len = array_length_1d(global.PadInstances);
for( i = 0; i < len; i += 2)
    {
    var left = global.PadInstances[i];
    var right = global.PadInstances[i+1];
    mapping += "," + left.sdlLabel + ":" + right.binding;
    }
gamepad_test_mapping(global.padIndex, mapping);

上面的代码将循环遍历许多实例,并使用它们包含的不同变量的值来创建映射字符串,然后将其设置为在给定插槽索引中的游戏手柄上使用。