Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: desplo en Abril 02, 2016, 03:42:07 AM

Título: Hacer varios clic rapidamente?
Publicado por: desplo en Abril 02, 2016, 03:42:07 AM
Estoy realizando un juego para android en el cual tienes que dar varios clic o "tap" a un objeto para que realize una accion.

Actualmente estoy utilizando un multitouch, que igualmente me funciona ya que son varios objetos que hay que hacerle varios clic pero lo que necesito es que se puedan hacer varios y rapidamente.

Esto es lo que utilizo con multitouch:
STEP
var n;
for(n=0;n<=5;n++){
if device_mouse_check_button(n,mb_left){
if mouse_check_button_pressed(mb_left){

////ACCION DEL OBJETO

}}}
Título: Re:Hacer varios clic rapidamente?
Publicado por: bygdle en Abril 02, 2016, 03:47:54 AM
No te comprendo bien, pero tu código está mal, ya que después de comprobar el click del dispositivo, vuelve a comprobar el click del mouse normal, diciendo chau al multitouch.
Hace poco dejé un código en una respuesta donde, según quien preguntó, funciona bien.
http://www.comunidadgm.org/preguntas-y-respuestas/como-puedo-crear-multitouch-por-lo-menos-para-2-dedos/
Título: Re:Hacer varios clic rapidamente?
Publicado por: Clamud en Abril 02, 2016, 05:21:37 AM
Por defecto dos toques rápidos se detectan como un clik derecho, para que eso no suceda debes usar esta función
[gml]
device_mouse_dbclick_enable( false );
[/gml]
Y como mencionó Niu, no tiene sentido usar las funciones para multitouch y después las de mouse normal.
Lo mejor es que el multitouch se maneje en un objeto aparte, para que no se repita el ciclo for en todas las instancias que deben reaccionar a los toques, por ejemplo:
[gml]
for( i=0; i<5; i++ )
if device_mouse_check_button_pressed( i, mb_left )
{
   with instance_position(
   device_mouse_x(i),
   device_mouse_y(i), objeto )
   {
      // acciones ...
   }
}
[/gml]