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