Entrada
Dentro de um objeto, use estas funções direto, sem prefixo.
Uma ação é um nome ligado a teclas e a botões do controle, criado em Configurações do projeto. Veja Teclado e controle com ações.
| Função | O que faz | Exemplo |
|---|---|---|
bool held(std::string_view action) const |
A ação está segurada, no teclado ou no controle. | if (held("atirar")) ... |
bool pressed(std::string_view action) const |
A ação foi apertada neste passo. Vale uma vez por toque. | if (pressed("pular")) vspeed = -4; |
bool released(std::string_view action) const |
A ação foi solta neste passo. | if (released("pular")) ... |
float axis(std::string_view negative, std::string_view positive) const |
De -1 a 1: a ação positiva menos a negativa. O analógico tem zona morta de 0,25. |
hspeed = axis("esquerda", "direita") * 2; |
Uma ação com o nome errado aparece uma vez como erro na Saída.
Teclado
Seção intitulada “Teclado”| Função | O que faz | Exemplo |
|---|---|---|
bool held(Key key) const |
A tecla está segurada. | if (held(Key::Left)) x -= 2; |
bool pressed(Key key) const |
A tecla foi apertada neste passo. Vale uma vez por toque. | if (pressed(Key::Space)) vspeed = -6; |
bool released(Key key) const |
A tecla foi solta neste passo. | if (released(Key::Space)) charge = 0; |
| Função | O que faz | Exemplo |
|---|---|---|
float mouseX() const |
X do mouse no mundo (considera a câmera). | angleTo(mouseX(), mouseY()) |
float mouseY() const |
Y do mouse no mundo. | |
bool mouseHeld(MouseButton button) const |
O botão está segurado. | if (mouseHeld(MouseButton::Left)) ... |
bool mousePressed(MouseButton button) const |
O botão foi apertado neste passo. | if (mousePressed(MouseButton::Right)) ... |
bool mouseReleased(MouseButton button) const |
O botão foi solto neste passo. | |
float Input::mouseWheel() |
Quanto a roda do mouse girou neste passo: positivo para cima, negativo para baixo, 0 parada. | zoom += Input::mouseWheel(); |
Botões: MouseButton::Left, MouseButton::Middle, MouseButton::Right.
Para menus e botões desenhados no onRenderGui, que não andam com a câmera, use Input::mouseGuiX() e Input::mouseGuiY(): a posição do mouse na tela.
| Grupo | Valores |
|---|---|
| Letras | Key::A … Key::Z |
| Números | Key::Num0 … Key::Num9 |
| Setas | Key::Left, Key::Right, Key::Up, Key::Down |
| Especiais | Key::Space, Key::Enter, Key::Escape, Key::Tab, Key::Backspace |
| Modificadores | Key::LShift, Key::RShift, Key::LCtrl, Key::RCtrl |
| Funções | Key::F1 … Key::F12 |
Controle
Seção intitulada “Controle”O controle é usado pelas ações: nas Configurações do projeto, ligue um botão a uma ação. Vale o primeiro controle conectado.
| Grupo | Nomes |
|---|---|
| Botões | Pad:A, Pad:B, Pad:X, Pad:Y, Pad:Start, Pad:Back, Pad:LB, Pad:RB |
| Direcional | Pad:Up, Pad:Down, Pad:Left, Pad:Right |
| Analógico esquerdo | Pad:LeftX-, Pad:LeftX+, Pad:LeftY-, Pad:LeftY+ |
