Entrada
Dentro de un objeto, usa estas funciones directamente, sin prefijo.
Acciones
Sección titulada «Acciones»Una acción es un nombre unido a teclas y a botones del mando, creado en Configuración del proyecto. Mira Teclado y mando con acciones.
| Función | Qué hace | Ejemplo |
|---|---|---|
bool held(std::string_view action) const |
La acción está mantenida, en el teclado o en el mando. | if (held("atirar")) ... |
bool pressed(std::string_view action) const |
La acción se pulsó en este paso. Vale una vez por toque. | if (pressed("pular")) vspeed = -4; |
bool released(std::string_view action) const |
La acción se soltó en este paso. | if (released("pular")) ... |
float axis(std::string_view negative, std::string_view positive) const |
De -1 a 1: la acción positiva menos la negativa. El stick analógico tiene una zona muerta de 0,25. |
hspeed = axis("esquerda", "direita") * 2; |
Una acción con el nombre equivocado aparece una vez como error en la Salida.
Teclado
Sección titulada «Teclado»| Función | Qué hace | Ejemplo |
|---|---|---|
bool held(Key key) const |
La tecla está mantenida. | if (held(Key::Left)) x -= 2; |
bool pressed(Key key) const |
La tecla se pulsó en este paso. Vale una vez por toque. | if (pressed(Key::Space)) vspeed = -6; |
bool released(Key key) const |
La tecla se soltó en este paso. | if (released(Key::Space)) charge = 0; |
| Función | Qué hace | Ejemplo |
|---|---|---|
float mouseX() const |
X del mouse en el mundo (tiene en cuenta la cámara). | angleTo(mouseX(), mouseY()) |
float mouseY() const |
Y del mouse en el mundo. | |
bool mouseHeld(MouseButton button) const |
El botón está mantenido. | if (mouseHeld(MouseButton::Left)) ... |
bool mousePressed(MouseButton button) const |
El botón se pulsó en este paso. | if (mousePressed(MouseButton::Right)) ... |
bool mouseReleased(MouseButton button) const |
El botón se soltó en este paso. | |
float Input::mouseWheel() |
Cuánto giró la rueda del mouse en este paso: positivo hacia arriba, negativo hacia abajo, 0 quieta. | zoom += Input::mouseWheel(); |
Botones: MouseButton::Left, MouseButton::Middle, MouseButton::Right.
Para menús y botones dibujados en el onRenderGui, que no se mueven con la cámara, usa Input::mouseGuiX() e Input::mouseGuiY(): la posición del mouse en la pantalla.
| Grupo | Valores |
|---|---|
| Letras | Key::A … Key::Z |
| Números | Key::Num0 … Key::Num9 |
| Flechas | Key::Left, Key::Right, Key::Up, Key::Down |
| Especiales | Key::Space, Key::Enter, Key::Escape, Key::Tab, Key::Backspace |
| Modificadores | Key::LShift, Key::RShift, Key::LCtrl, Key::RCtrl |
| Funciones | Key::F1 … Key::F12 |
El mando se usa mediante las acciones: en la configuración del proyecto, une un botón a una acción. Vale el primer mando conectado.
| Grupo | Nombres |
|---|---|
| Botones | Pad:A, Pad:B, Pad:X, Pad:Y, Pad:Start, Pad:Back, Pad:LB, Pad:RB |
| Cruceta | Pad:Up, Pad:Down, Pad:Left, Pad:Right |
| Stick izquierdo | Pad:LeftX-, Pad:LeftX+, Pad:LeftY-, Pad:LeftY+ |
