Hola Se?ores: Este objeto es una pila de cartas de mi juego de poker, naipes de 52 m?s 4 rev?s o partes traseras. Cuando salen los 5 naipes yo puedo cambiarlos 0 ? los 5 si quiero. Pero cuando estoy eligiendo un naipe, se me da un efecto as?: muestra el naipe, luego su rev?s y as? hasta que debo hacerle clic hasta 6 veces, esto me aburre. Quiero que de un solo se cambie el jodido naipe por el otro. El c?digo me lo di? un gringo, estoy seguro que el efecto absurdo este, se encuentra en los eventos del rat?n.

Ayudaaaa!!! por favor

Information about object: cardbut //pila de naipes

Sprite: Card
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent: <no parent>
Mask: <same as sprite>

Create Event:
set variable image_single to 53
set variable side[0] to 0
set variable draw to 0

Alarm Event for alarm 0:
set Alarm 1 to 9
set variable image_single to 52

Alarm Event for alarm 1:
set variable image_single to side[0]

Mouse Event for Left Button:
if expression dealer.mode=2 is true
      set variable draw to 1-draw
      set variable image_single to (53+dealer.backs)*draw+(1-draw)*side[0]
      play sound choose; looping: false
else
      play sound nono; looping: false

Mouse Event for Right Button:
if expression (dealer.mode=2) && (dealer.cheater) is true
      set variable side[0] relative to 1-52*(side[0]=51)
      set variable image_single to side[0]
La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.

Solo as copiado lo que dicen los D&D asi que no puedo comprenderlos asi.
Pero de todas maneras la solucion para esto esta en usar bien sea un for(...) o usa un repeat(...) eso te dara la solucion, lee el manual.
Descargate un traductor de D&D a GML, asi podras iniciarte con el gml y avanzar en tus juegos mas rapido.
Aca te dejo varios Traductores muy buenos y utiles.
GML Helper
Ultimate D&D a GML converte
Action Decoder
bajatelos y veras como ayudan.

#2 Enero 28, 2012, 09:19:34 PM Ultima modificación: Enero 28, 2012, 09:27:32 PM por knd144
Esto ocurre por el timing o el tiempo (no se c?mo se llamar?a el t?rmino  XD); y es que cuando haces clic sobre el naipe el evento se registra no solo una vez, sino una vez por step (en ocasiones normales 30 veces por segundo).

Para arreglar ?ste problema lo que yo hago es una variable que indique si (en este caso) la carta tiene permiso de ser volteada (o sea si est? en true); si es as? pongo la variable en false, hago  lo que tengo que hacer, y la final llamo una alarma para que en un segundo o menos se vuelva a poner la variable en true.

Por ejemplo
Evento create:
[gml]
pm_flip=true;
[/gml]

Evento Mouse Event for Left Button (creo es el de presionar boton izquerdo):
[gml]
if(pm_flip)
{
  pm_flip=false //Desactivo la variable para que no se pueda repetir el evento
 //hago lo que tengo que hacer
 alarm[1]=15
}
[/gml]

Evento alarm[1]
[gml]
if(pm_flip==false)
{
 pm_flip=true;
}
[/gml]

?sto me ha servido de mucho en los eventos con el mouse, espero que a t? tambi?n te sirva. Por cierto, no es necesario hacer que la alarma se active medio segundo despu?s, ya que ?sto dar?a como un lag o retraso en el mouse muy desesperanre para el usuario, con un tercio de segundo est? bien, no creo que se clickee tan r?pido :p
Nos vemos  ;)

Gracias, reduje la alarma a 2 env?s de 9 y ya no me da problemas.

Saludos
La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.