gamepad_hat_value

使用此函数,您可以获得游戏手柄"十字键"的当前值。返回的十字键值是不同方向的位掩码,其中:

请注意,这两个值可以组合在一起例如,十字键值 3 表示检查正确 (1 和 2 的总和)。您也可以使用位运算符 | 将不同方向的值组合在一起,得到相同的结果,例如 0b0001|0b0010。值为 0 表示未设置方向。

注意 只有设置了最多 2 位的值才能返回(例如,值 7 永远不会返回,因为不可能同时按上(1)、右(2)和下(4))。

注意 此函数还返回支持十字键模拟输入的游戏手柄的位掩码。

 

语法:

gamepad_hat_value(device, hatindex);

参数类型描述
deviceReal要检查哪个游戏手柄设备 “插槽”。
hatindexReal要检查哪个 (或哪些) 游戏手柄十字键 (值从 0 到 gamepad_hat_count(device) - 1)

 

返回:

Real (hat value as a bitmask)

 

例子:

var _dir = gamepad_hat_value(global.PadIndex, 0);
switch (_dir)
{
    case 1: y -= 3; break;
    case 2: x += 3; break;
    case 3: y -= 3; x += 3; break;
    case 4: x -= 3; break;
    case 6: y += 3; x += 3; break;
    case 8: y += 3; break;
    case 9: y -= 3; x -= 3; break;
    case 12: y += 3; x -= 3; break;
}

上面的代码将游戏手柄设备插槽 global.PadIndex 上索引为 0 的十字键的状态存储在本地变量 _dir 中,然后检查返回的十字键值,并采取相应的操作。