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;}Como funciona
Seção intitulada “Como funciona”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-1a1:-1com a primeira ação,1com a segunda,0com nenhuma ou com as duas. No analógico do controle, devolve valores intermediários.
Criar e mudar ações
Seção intitulada “Criar e mudar ações”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.
Controle
Seção intitulada “Controle”- 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:LBePad:RB, e o direcional éPad:Up,Pad:Down,Pad:LeftePad:Right. - O analógico esquerdo é
Pad:LeftX-,Pad:LeftX+,Pad:LeftY-ePad:LeftY+. Ele tem uma zona morta de 0,25: toques leves não contam.
Se o nome estiver errado
Seção intitulada “Se o nome estiver errado”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.
E as teclas direto?
Seção intitulada “E as teclas direto?”As funções com tecla, como held(Key::Space), continuam funcionando. Use-as para testes rápidos; para o jogo, prefira ações.
Veja também
Seção intitulada “Veja também”- Entrada: todas as funções de teclado, controle e mouse.
- Mover com o teclado.
