Dispositivos de Entrada

Aquí están los dispositivos de entrada disponibles en p5play:

  • kb / keyboard para el teclado
  • mouse para el ratón
  • contros / controllers para los controles de juegos
  • touches para entradas de pantalla táctil

Todos estos dispositivos de entrada utilizan las mismas funciones simples para obtener el estado de una entrada: presses, pressing y released.

Los dispositivos de entrada también almacenan el estado de todas sus entradas como propiedades. Por ejemplo, kb.space almacena cuántos cuadros el usuario ha estado presionando la tecla espaciadora. Se reinicia cuando el usuario suelta la entrada.

p5play facilita la activación de la misma acción a través de diferentes dispositivos de entrada usando lógica booleana.

En el mini-ejemplo, el sprite se vuelve verde si presionas la tecla espaciadora o haces clic con el ratón.

Teclado

kb rastrea casi todas las teclas del teclado, incluyendo 'enter', 'backspace' y 'control'.

Nota que la entrada de letras no distingue entre mayúsculas y minúsculas. Para verificar si un usuario está presionando shift usa: kb.pressing('shift').

Dado que las teclas WASD se usan comúnmente para controlar el movimiento del personaje del jugador, puedes usar los nombres de dirección 'up', 'down', 'left' y 'right' para detectar las presiones de las teclas WASD y de flechas.

Las teclas de flecha también pueden detectarse por separado usando 'arrowUp', 'arrowDown', 'arrowLeft' y 'arrowRight'.

En juegos locales para dos jugadores es común que el segundo jugador use las teclas IJKL para el movimiento. Estas teclas pueden referenciarse usando 'up2', 'down2', 'left2' y 'right2'.

¿Usas un teclado no QWERTY?

Ratón

La entrada por defecto del ratón es el botón 'left', un clic con un dedo en trackpads. También puedes usar 'right' (clic con dos dedos) y 'center'.

mouse.x y mouse.y almacenan la posición del ratón en el mundo, basada en la posición de la cámara.

mouse.canvasPos almacena la posición absoluta del ratón en el lienzo.

mouse.visible es un booleano que determina si el ratón es visible o no.

mouse.cursor se puede configurar a un estilo de cursor. El predeterminado es 'default', otras opciones incluyen 'grab', 'move', 'pointer' y 'wait'.

Ratón de Sprite

Los sprites con colisionadores físicos tienen su propio objeto de ratón para detectar entradas de ratón en el sprite. Los objetos sprite.mouse son como el objeto de entrada mouse, excepto que tienen funciones adicionales.

hovers y hovering detectan cuando el usuario mueve el ratón sobre un sprite.

dragging detecta cuando el usuario hace clic y mantiene presionado un botón del ratón en el sprite mientras mueve el ratón.

Nota que mouse.x es la posición x del ratón en el lienzo y sprite.mouse.x es la posición x del ratón relativa al sprite.

Controles de Juego

El arreglo contros (también conocido como controllers) contiene un objeto por cada control de juego conectado detectado por tu navegador web. Cada objeto controlador almacena los estados de entrada de estos botones:

a, b, x, y, l (botón izquierdo), r (botón derecho), lt (gatillo izquierdo), rt (gatillo derecho), arriba, abajo, izquierda, derecha (D-pad), lsb (botón del stick izquierdo), rsb (botón del stick derecho), start y select

leftStick y rightStick representan las posiciones de los sticks análogos como objetos con propiedades x e y. Estos valores varían de -1 a 1, siendo 0 la posición central.

Algunos controles tienen gatillos análogos, y sus posiciones se almacenan como números que van de 0 a 1 en leftTrigger y rightTrigger.

Al igual que con un arreglo estándar de JavaScript, puedes acceder a los controles conectados por índice. Por ejemplo, contros[0] y contros[1] son el primer y segundo control. Recuerda verificar si un control existe en el arreglo antes de revisar su entrada.

Para mayor conveniencia, contro se puede utilizar para intentar verificar los estados de entrada de contros[0] y no generará errores si un control aún no está conectado.

¡Pruébalo! Conecta un control de juego y presiona cualquier botón en él para que sea detectado por p5play.

➡️ demo completa de prueba de control

Tacto

Cada interacción con pantalla táctil genera un objeto de toque que se añade al arreglo touches.

Cada toque tiene sus propias funciones para detectar estados de entrada de presión y arrastre.

touch.x y touch.y almacenan la posición del toque en el mundo, basada en la posición de la cámara.

touch.canvasPos almacena la posición absoluta del toque en el lienzo.

touch.id es un número único que identifica el toque.

touch.duration almacena cuántos cuadros el toque ha estado activo.

El cuadro después de que un toque termina, su objeto de toque se elimina del arreglo touches. touches[0] se mapea al mouse.

¡En la demostración de toques, toca la pantalla para crear cajas y arrástralas para lanzarlas!

Página anterior Siguiente página