Biblioteca de ação Gamepad

GameMaker tem uma série de ações dedicadas que podem ser usadas para detectar tanto controles analógicos quanto digitais de múltiplos blocos de jogos conectados. Estas ações exigem que você especifique um valor de índice gamepad, que é um número (contando a partir de 0) que representa o gamepad a ser selecionado. Observe que quando um controle de jogo é conectado ao seu dispositivo (ou é removido), então um evento assíncrono do sistema é acionado (entretanto, para lidar com isso, você pode precisar usar código).

Os "slots" do gamepad são indexados de 0 com slots 0 - 3 inclusive sendo apenas para os gamepads Xinput, ou seja: controladores Xbox360 e compatíveis. Entretanto, você também pode verificar os slots 4 - 11 inclusive para os gamepads DirectInput, o que significa que você pode detectar muitos outros modelos de controladores quando conectado através destes slots.

Constantes de entrada

Ao trabalhar com as ações do gamepad, a entrada pode vir de eixos, botões ou chapéus, que GameMaker atribuirá às seguintes constantes embutidas (note que "chapéus" geralmente são detectados apenas em controladores não padrão):

Constante Descrição
gp_face1 Botão de cima 1 (este mapa para o "A" em um controlador Xbox 360 e a cruz em um controlador PS)
gp_face2 Botão de cima 2 (este mapa para o "B " em um controlador Xbox 360 e o círculo em um controlador PS)
gp_face3 Botão de cima 3 (este mapa para o "X " em um controlador Xbox 360 e o quadrado em um controlador PS)
gp_face4 Botão superior 4 (este mapa mostra o "Y" em um controlador Xbox 360 e o triângulo em um controlador PS)
gp_shoulderl Botão de ombro esquerdo
gp_shoulderlb Gatilho do ombro esquerdo
gp_shoulderr Botão de ombro direito
gp_shoulderrb Gatilho de ombro direito
gp_select O botão select (em um controlador DS4, isto aciona quando você pressiona o touchpad para baixo)
gp_start O botão start (este é o botão "opções" em um controlador PS4)
gp_stickl O bastão esquerdo pressionado (como um botão)
gp_stickr O bastão direito pressionado (como um botão)
gp_padu D-pad up
gp_padd D-pad down
gp_padl D-pad esquerda
gp_padr Direito D-pad
gp_axislh Vara esquerda eixo horizontal (analógico)
gp_axislv Eixo vertical da vara esquerda (analógico)
gp_axisrh Eixo horizontal do bastão direito (analógico)
gp_axisrv Eixo vertical do bastão direito (analógico)

Para entender melhor exatamente que parte do controlador cada constante representa, você pode se referir à seguinte imagem de um gamepad padrão Xinput:

Gamepad Action Library

Ações

As ações de gamepad disponíveis estão todas listadas abaixo:

XInput Gamepad Configuration Obtenha o Eixo Gamepad
Gamepad Get Axis Icon Obter o gatilho Gamepad
Gamepad Get Trigger Icon Obter Gamepad Count
Gamepad Get Count Icon Conecte o Gamepad
Gamepad Get Connected Icon Conjunto Gamepad Axis Deadzone
Gamepad Set Axis Deadzone Icon Botão Gamepad Threshold
Set Gamepad Button Threshold Icon Se o botão Gamepad fosse pressionado
If Gamepad Button Pressed Icon Se o Gamepad Botão Down
If Gamepad Button Down Icon Se o botão Gamepad for liberado

A lista a seguir mostra a compatibilidade atual entre as plataformas (note que isto mudará com futuras atualizações):

sudo apt-get install jstest-gtk
sudo apt-get install joystick.