A usePointer() se le pregunta desde un update igual que al teclado. justPressed() es verdadero durante el único frame en que baja un dedo o un botón, así que un clic dispara una sola vez aunque se mantenga. isDown() es verdadero mientras se mantiene, y aquí carga el anillo del cañón. justReleased() es verdadero en el frame en que se suelta: soltar con la carga llena lanza un disparo grande.
Con un botón, solo ese: justPressed('right') es el botón derecho, y cambia el color de los disparos. 'main' es el botón izquierdo o un dedo, y sin nada vale cualquiera; todos los nombres están en INPUT.POINTER_BUTTONS. Ninguno dice qué se pulsó: para eso están onDown y su target, o isPressing(sprite). Clic para disparar, mantener para cargar, clic derecho para cambiar de color.