gamepad_test_mapping

此函数可用于在允许它的目标上设置Gamepad映射。为要设置的游戏手柄提供“动态内容”索引,然后提供映射字符串,应使用Sdl格式和以下字段创建映射字符串:

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

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

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

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

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

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

SDL 名称GML 名称
agp_face1
bgp_face2
xgp_face3
ygp_face4
leftshouldergp_shoulderl
lefttriggergp_shoulderlb
rightshouldergp_shoulderr
righttriggergp_shoulderrb
guidegp_select
startgp_start
leftstickgp_stickl
rightstickgp_stickr
dpupgp_padu
dpdowngp_padl
dpleftgp_padr
dprightgp_padd
leftxgp_axislh
leftygp_axislv
rightxgp_axisrh
rightygp_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);

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

 

返回:

N/A

 

例子:

var mapping = gamepad_get_guid(global.padIndex) + "," + gamepad_get_description(global.padIndex);
var len = array_length(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);

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