Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: kaliman777 en Septiembre 07, 2010, 06:36:30 PM

Título: Ayuda con este efecto giratorio
Publicado por: kaliman777 en Septiembre 07, 2010, 06:36:30 PM
Hola amigos:

Estoy dise?ando un tragamonedas como el de la imagen adjunta. Consta de 5 carretes que giran verticalmente de arriba hacia abajo y 3 l?neas horizontales. Es decir, se observan 15 figuras a la vez. Para ello tengo sprites que contienen todas las figurillas posibles. Estos sprites representar?n a los objetos que se detendr?n al detenerse los 5 rodillos o carretes.

Quiero que me ayuden a dos cosillas: 1) ?C?mo logro el efecto de desplazamiento vertical de los carretes, de modo que yo los detenga con alarmas? S?lo el efecto de giro, lo dem?s lo programo yo. y 2) ?C?mo le hago para manejar los objetos, de modo que al detenerse yo pueda programar los pagos, seg?n el orden y las combinaciones?

Gracias y espero algunas ayuditas.
Título: Re: Ayuda con este efecto giratorio
Publicado por: pucara en Septiembre 08, 2010, 12:36:03 PM
Hola, echa un vistazo a mi juego Insectoids, acced?s a ?l por el link de mi firma.
Entre fase y fase, program? una tragamonedas muy sencilla, quiz?s fij?ndote c?mo funciona te d? una idea. Si te gusta, avisame que te paso el c?digo de la misma.


Saludos. 8)
Título: Re: Ayuda con este efecto giratorio
Publicado por: kaliman777 en Septiembre 08, 2010, 06:15:41 PM
Cita de: pucara en Septiembre 08, 2010, 12:36:03 PM
Hola, echa un vistazo a mi juego Insectoids, acced?s a ?l por el link de mi firma.
Entre fase y fase, program? una tragamonedas muy sencilla, quiz?s fij?ndote c?mo funciona te d? una idea. Si te gusta, avisame que te paso el c?digo de la misma.


Saludos. 8)
Bueno Pucara, ni una ni otra cosa, no se puede jugar online y no se puede bajar, al menos eso me dijo mi compu.

De todas formas, he probado un efecto con Trasition  en sprite editor, pero se rotan sobre su mismo eje no una tras la otra como me gustar?a.

Logro que giren pero en su mismo sitio, solo se cambian por las subim?genes del sprite. Quisiera que parece que bajan.
Título: Re: Ayuda con este efecto giratorio
Publicado por: pucara en Septiembre 08, 2010, 07:11:17 PM
Ahi va el juego:

http://sharesend.com/6exwk
Título: Re: Ayuda con este efecto giratorio
Publicado por: kaliman777 en Septiembre 08, 2010, 08:34:25 PM
Cita de: pucara en Septiembre 08, 2010, 07:11:17 PM
Ahi va el juego:

http://sharesend.com/6exwk

Jugu? tu juego INSECTOIDS. Est? excelente. Pero nunca vi la dichosa tragamonedas de la que hablas que hab?a all?.

Saludos.
Título: Re: Ayuda con este efecto giratorio
Publicado por: pucara en Septiembre 08, 2010, 08:51:31 PM
Mata todos los bichos, te toma 1 minuto. luego accedes a la pantalla de bonus, donde se encuentra la maquinita...
Título: Re: Ayuda con este efecto giratorio
Publicado por: kaliman777 en Septiembre 09, 2010, 02:36:34 PM
Cita de: pucara en Septiembre 08, 2010, 08:51:31 PM
Mata todos los bichos, te toma 1 minuto. luego accedes a la pantalla de bonus, donde se encuentra la maquinita...

Bien Pucara, necesito, un par de ideas para mejorar mi TRAGAMONEDAS. Espec?ficamente lo q menciono: Quisiera programar algo as?:

si obj1.image_single=obj2.image_single&&obj2.image_single=obj3.image_single&&obj3.image_single=obj4.image_single&&obj4.image_single=obj5.image_single// Score+=100;

Algo as? quiero programarlo de esa forma.

Saludos.
Título: Re: Ayuda con este efecto giratorio
Publicado por: pucara en Septiembre 09, 2010, 04:51:23 PM
Bueno te paso el c?digo, como pudiste comprobar los rodillos no son giratorios, aunque el efecto creo que es satisfactorio.
Recuerda poner el fondo con la estructura de la m?quina, botones, monedero etc.


Evento Create
if(x=305){sprite_index=spr_slot_1}
if(x=400){sprite_index=spr_slot_2}
if(x=495){sprite_index=spr_slot_3}

funcionando=0;
cuando=0;//para largar la carteler?a (premio ? nada, y el premio () 1k etc,,)
bomb_nav=0;// ver if's de premios


Evento Step
if(funcionando=0)
{
    if(sprite_index=spr_slot_1)
    {
        if(image_speed>0)
        {
            if(image_speed=1){sound_play(snd_slot_begin)}
            image_speed-=0.01;
                     
        }
        else
        {
            funcionando=1;
            image_speed=0;
            global.s1=choose(0,1,2,3,4,5);
            image_index=global.s1;         
            sound_play(snd_slot_end);           
        }
    }
   
        if(sprite_index=spr_slot_2)
    {
        if(image_speed>0)
        {
            if(image_speed=1){sound_stop(snd_slot_begin);sound_play(snd_slot_begin)}   
            image_speed-=0.01;
        }
        else
        {
            funcionando=1;
            image_speed=0;
            global.s2=choose(0,1,2);
            image_index=global.s2;
           
            sound_play(snd_slot_end);
        }
    }
   
    if(sprite_index=spr_slot_3)
    {
        if(image_speed>0)
        {
            if(image_speed=1){sound_stop(snd_slot_begin);sound_play(snd_slot_begin)}
            image_speed-=0.01;
        }
        else
        {
            cuando=1;
            funcionando=1;
            image_speed=0;
            global.s3=choose(0,1,2);
            image_index=global.s3;
            sound_stop(snd_slot_begin);
            sound_play(snd_slot_end);
        }
    }
}

if(cuando=1)
{
    cuando=0;
   
    if(global.s1=0 and global.s2=1 and global.s3=1){global.premio=1000;instance_create(668,35,obj_aux);instance_create(668,85,obj_aux)}
    if(global.s1=1 and global.s2=1 and global.s3=1){global.premio=3000;instance_create(668,35,obj_aux);instance_create(668,85,obj_aux)}
    if(global.s1=2 and global.s2=0 and global.s3=0){bomb_nav=1;global.premio=2;instance_create(668,35,obj_aux);instance_create(668,85,obj_aux);global.bombas+=1;global.premio=0}
    if(global.s1=3 and global.s2=1 and global.s3=1){global.premio=5000;instance_create(668,35,obj_aux);instance_create(668,85,obj_aux)}
    if(global.s1=4 and global.s2=1 and global.s3=1){global.premio=10000;instance_create(668,35,obj_aux);instance_create(668,85,obj_aux)}
    if(global.s1=5 and global.s2=2 and global.s3=2){bomb_nav=1;global.premio=1;instance_create(668,35,obj_aux);instance_create(668,85,obj_aux);global.vidas+=1;global.premio=0}
    if(global.premio=0and bomb_nav=0){instance_create(668,80,obj_aux);sound_play(snd_nada)}else{sound_play(snd_premio)}


NOTA: el obj_aux lo pod?s ignorar.
NOTA#2: estas combinaciones son para una sola linea de 3 figuras.

Espero te sea de ayuda.  8)
Título: Re: Ayuda con este efecto giratorio
Publicado por: kaliman777 en Septiembre 09, 2010, 06:29:03 PM
Gracias Pucara:

En algo no me ubico, cre? que el c?digo dibujaba el sprite? Debo colocarlos yo en 305, 400, etc?
estoy aplicando estos c?digos y te informo del resultado.

Seguimos pendientes.
Título: Re: Ayuda con este efecto giratorio
Publicado por: pucara en Septiembre 10, 2010, 12:26:14 PM
Te digo la secuencia de funcionamiento b?sico del c?digo.

1-dibujas un fondo o un sprite/s con la "fachada" de la m?quina.
2-haces girar (o pasar en im?genes) las figuras de los rodillos, de forma ordenada, y haciendo decrecer la velocidad de giro.
3-Cuando se detiene un rodillo, simplemente estampas (con otro objeto) la figura definitiva. Esto por cada rodillo (3 veces en el ejemplo).

De esta forma lo que haces es que creas la ilusi?n que la m?quina gira y s?lo al detenerse los rodillos aparecen las figuras reales (con o sin premio)


Saludos. 8)
Título: Re: Ayuda con este efecto giratorio
Publicado por: kaliman777 en Septiembre 10, 2010, 03:11:48 PM
Ok. El primer efecto hace que parezca que gira y luego al terminar esta "animaci?n" sustituyes por un RANDOM de figuras que ser?n las que se quedar?n para el premio si lo hubiera.

Excelente idea, as? funciona.

Gracias.

Cuandoo termine mi juego te paso una copia, me est? quedando muy bien.

Saludos.