Controles táctiles: botones y analógico

 En esta ocasión veremos como crear algunos controles táctiles para llevar nuestros juegos al celular. 

Aquí les dejo el proyecto con el código comentado para que sea más fácil de entender (no pude subirlo al servidor de pilas, dejo un link de mega con el archivo):

controles tactiles.pilas

Con este proyecto y sus comentarios debería ser suficiente. Pero igualmente explicaremos un poco más.

Lo primero que aprenderemos es a mantener pulsado un botón. Esto lo haremos mediante una variable booleana y las funciones de cuando_hace_clickcuando_termina_de_hacer_click y cuando_sale:

  pulsado: boolean
  cuando_hace_click() {
    this.pulsado = true;
  }

  cuando_termina_de_hacer_click() {
    this.pulsado = false;
  }

  cuando_sale() {
    this.pulsado = false;
  }

Luego en la función actualizar() metemos las intrucciones que querramos se ejecuten cuando pulsado = true.

Lo siguiente será crear un analógico, el cual nos evitará llenar la pantalla de botones para mover a nuestro personaje. No hace falta mucha explicación puesto que es muy sencillo:

  • Necesitamos dos actores: uno que llamaremos zona_interacción y otro puntero.
Es importante que zona_interacción tenga una transparencia de 60, para que se vea a través de el, y un z =-10 para que ningún otro actor se le ponga en frente e interrumpa los clicks. A su vez el puntero debe tener un z=10 para que se posicione detrás de zona_interaccion. Ambos actores deben tener la propiedad fijo en true.

La idea fue: En zona_interaccion tendremos una variable booleana similar al botón tactil de antes. De tal manera que al estar en true el actor puntero siga a nuestro dedo y se calcule el ángulo entre el puntero y el centro de zona_interaccion. Dicho ángulo es el que usaremos para mover a un personaje con la función this.avanzar(angulo, velocidad).


Comentarios

Entradas populares de este blog

Comenzando en Pilas Engine 2

Movimientos en círculos

Creando bots para tus juegos en Pilas engine