Pular para o conteúdo
Baixar

Teclado e controle com ações

Você quer que o jogo funcione com teclado e com controle, e que trocar uma tecla não exija mexer no código.

Uma ação é um nome, como pular, ligado a uma ou mais teclas e botões. No código, você pergunta pela ação:

void Player::onUpdate() {
hspeed = axis("esquerda", "direita") * 2.0f;
if (pressed("pular")) vspeed = -4.0f;
}
  • held("pular") é verdadeiro enquanto a ação está segurada.
  • pressed("pular") vale só no passo em que ela foi apertada: uma vez por toque.
  • released("pular") vale só no passo em que ela foi solta.
  • axis("esquerda", "direita") devolve um número de -1 a 1: -1 com a primeira ação, 1 com a segunda, 0 com nenhuma ou com as duas. No analógico do controle, devolve valores intermediários.

Abra Projeto › Configurações do projeto… e vá até Ações de entrada. Lá você cria ações, muda os nomes e escolhe as teclas e os botões de cada uma. Veja Configurações do projeto.

Um projeto novo (modelo Vazio) já vem com seis ações:

Ação Teclado Controle
esquerda ←, A direcional ←, analógico ←
direita →, D direcional →, analógico →
cima ↑, W direcional ↑, analógico ↑
baixo ↓, S direcional ↓, analógico ↓
pular Espaço A
acao X, Enter X

O modelo Primeiro jogo traz as quatro direções e mais atirar, confirmar e sair.

  • Vale o primeiro controle conectado. Dá para ligar e desligar com o jogo rodando.
  • Os botões são Pad:A, Pad:B, Pad:X, Pad:Y, Pad:Start, Pad:Back, Pad:LB e Pad:RB, e o direcional é Pad:Up, Pad:Down, Pad:Left e Pad:Right.
  • O analógico esquerdo é Pad:LeftX-, Pad:LeftX+, Pad:LeftY- e Pad:LeftY+. Ele tem uma zona morta de 0,25: toques leves não contam.

Uma ação que não existe aparece uma vez como erro na Saída. Confira se o nome no código é igual ao das Configurações do projeto, letra por letra.

As funções com tecla, como held(Key::Space), continuam funcionando. Use-as para testes rápidos; para o jogo, prefira ações.