Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: DaiGoN en Junio 15, 2014, 07:41:51 PM

Título: Bloquear los clicks durante un tiempo
Publicado por: DaiGoN en Junio 15, 2014, 07:41:51 PM
Hola!

Estoy montando una transición de una carta dandose la vuelta
Esta transición dura como 1 segundo, pero me he fijado que si pulso encima de la carta durante la transición, esta deja de funcionar bien.

¿Hay alguna forma de bloquear los clicks en esta carta durante el tiempo de transición? Es decir, al entrar en la transición marcarlo de alguna forma como "carta bloqueada" para que no le afecte el "left released" y cuando termine el último alarm quitarle la marca

Un saludo! y gracias de antemano
Título: Re:Bloquear los clicks durante un tiempo
Publicado por: 3dgeminis en Junio 15, 2014, 07:55:10 PM
Practicamente contestaste tu pregunta  :) . Crea una variable en CREATE bloqueada=false , en la transicion(supongo que lo haras con una alarma) cambias el valor de la variable bloqueada=true,  cuando pase el tiempo en la otra ALARMA pone bloqueada=false. En el evento de LEFT RELEASED if bloqueada=false {"el codigo que usas para dar vuelta la carta"} .
Solo si la carta no esta bloqueada se puede dar vuelta.
Título: Re:Bloquear los clicks durante un tiempo
Publicado por: DaiGoN en Junio 15, 2014, 09:09:58 PM
Pues si... no había caido jeje Gracias!
Título: Re:Bloquear los clicks durante un tiempo
Publicado por: DaiGoN en Junio 15, 2014, 10:02:55 PM
Pues... no funciona muy fino que digamos, al menos en el simulador de windows
Se que funciona la variable porque si pongo la condicion inversa en el if, no hace nada, por lo que filtrar, esta filtrando los clicks

El problema es que cuando ha comenzado la acción de transición, en cuanto pulso click, creo que corta lo que está haciendo y lo para tal cual está, con la transición a medias... y como sigue con la variable desactivada porque no ha terminado la acción... me bloquea la carta ._.

¿Puede que solo pase en el simulador de windows?
Título: Re:Bloquear los clicks durante un tiempo
Publicado por: DaiGoN en Junio 16, 2014, 08:55:46 PM
Hola!!

Alguna idea?  :-[
He probado en android y falla igual >.<
Título: Re:Bloquear los clicks durante un tiempo
Publicado por: penumbra en Junio 16, 2014, 09:05:09 PM
No especificas, pero me imagino que la transición es un sprite animado. En ese caso...

if (sprite_index != spr_transición )
{
    //códigos a ejecutar cuando se hace click o código del evento left button
}

Es decir, si se está desplegando la transición, no se ejecuta nada del código que tenga que ver con clicks, en este caso no se utiliza ni alarma ni otra variable, sólo el índice del sprite




Título: Re:Bloquear los clicks durante un tiempo
Publicado por: DaiGoN en Junio 17, 2014, 10:01:19 AM
Es un giro de carta.
Lo hago con un alarm y el xstyle hasta que llega a 0, cambio de imagen y lanzo otro alarm con el xstyle inverso

El código k me dices es el que tengo puesto, pero el tiempo entre la comprobación y los clicks provoca que se reinicie todo el rato.

Ahora lo he bloqueado. En ese if he puesto un else que cancela la transición y le da la vuelta a la carta de golpe, impidiendo que funcione de nuevo el click sobre la carta.

No es la solución que más me gusta pero al menos funciona

Un saludo!