¡Hola gente del foro!
Miren, mi problema es el siguiente:
Tengo un objeto que se llama: "Izquierda", tiene su sprite apuntando hacia la izquierda obviamente xD
y contiene el siguiente codigo:

with (Player)
if (device_mouse_check_button(0, mb_any) && position_meeting(mouse_x,mouse_y, Izquierda))
{
    global.izq = 1
}
else
{
    global.izq = 0
}


if global.izq = 1
{
    with (Player)
    {
        x-=6
    }
}
else
{
    hspeed = 0
}

if global.izq = 0
{
    hspeed = 0
}


Este codigo lo que me permite es que, al momento de que yo use uno de los 3 botones del mouse, estos permitan que el "Player" vaya hacia la izquierda.


Ahora vamos con el objeto: "Derecha"

with (Player)
if (device_mouse_check_button(0, mb_any) && position_meeting(mouse_x,mouse_y, Derecha))
{
    global.der = 1
}
else
{
    global.der = 0
}


if global.der = 1
{
    with(Player)
    {
        x+=6
    }
}
else
{
    hspeed = 0
}

if global.der = 0
{
    hspeed = 0
}

Este codigo lo que me permite es que, al momento de utilizar uno de los 3 botones que tiene el mouse, estos dirijan el "Player" hacia la derecha.


Hasta aqui todo bien, todo funciona a la perfección.  ;D
El problema comienza cuando quiero hacer lo siguiente:

Al presionar Izquierda que se dirija a la izquierda (obviamente xD) pero mientras tengo pulsado "Izquierda" y de repente presiono "Derecha" pues ahora quiero que el juego obedezca a "Derecha" y NO a "Izquierda" pero cuando suelte "Derecha" que el juego vuelva a obedecer a "Izquierda

Igual de la misma forma pero en "Derecha"

Estoy teniendo problemas con esto desde hace ya 3 días, haciendo pruebas con el celular, viendo otros foros pero no logro resolver nada.  :-\

¿Alguien sería tan amable de explicarme cómo puedo solucionar este pequeño problema que me esta comiendo?  :(

Muchas gracias a todos los que leyeron todo y llegaron hasta este punto.  :)

#1 Marzo 23, 2016, 03:49:11 PM Ultima modificación: Marzo 23, 2016, 03:51:22 PM por Clamud
Hola. El primer problema es que usas el device_mouse 0 en los dos casos, así mientras se toque un lugar de la pantalla el otro toque no puede ser detectado, la solución es usar un ciclo for que revise los 5 puntos (numerados de 0 a 4). Para detectar el ultimo botón presionado puedes usar device_mouse_check_button_pressed y para detectar en qué momento se suelta puedes usar device_mouse_check_button_released. Espero que con estas ideas puedas avanzar, más tarde intentaré hacer un ejemplo, también puedes buscar en el foro, algunos han hecho preguntas similares.

PD: Acabo de notar que este tema está en la sección incorrecta, debes crearlo en la sección de preguntas y respuestas.