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
}}}
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/
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]