Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: pucara en Noviembre 06, 2011, 04:34:55 PM

Título: Insertar sprites dentro de otro m?s grande
Publicado por: pucara en Noviembre 06, 2011, 04:34:55 PM
Hola muchachada  8)
En una parte del programa necesito insertar im?genes peque?as dentro de una m?s grande, pongo un ejemplo:

-Creo un objeto, con su comrrespondiente sprite: un c?ruclo grande
ese c?rculo est? constantemente activo.
Luego dependiendo de ciertas acciones, necesito que dentro del c?rulo se le fijen: un ojo, luego otro ojo, boca, nariz, etc.

El resultado deber?a ser que, dependiendo la acci?n del jugador, el sprite de ese objeto vaya cambiando (a?adiendo otros m?s peque?os, no cambiando todo el sprite)

Gracias de antemano por ayudar 8)
Título: Re: Insertar sprites dentro de otro m?s grande
Publicado por: Zeit en Noviembre 06, 2011, 05:32:10 PM
Hola, en el evento draw del personaje puedes dibujar lo que quieras, es decir, cada sprite que mensionas lo puedes dibujar en el mismo evento draw, solo ten cuidado del orden en que se dibuja, y para que no dibujes todo al mismo tiempo puedes usar variables o arrays para condicionar, por ejemplo:

if(ojo_activo){draw...(ojo,...)}
if(nariz_activo){draw...(nariz,...)}
if(ceja_activo){draw...(ceja,...)}
...

O con array puedes usar algo como:

if(parte[0]){draw...(ojo,...)}

Donde, ojo_activo, nariz_activa, etc. o parte[indice] son variables boolean.

Saludos.
Título: Re: Insertar sprites dentro de otro m?s grande
Publicado por: pucara en Noviembre 06, 2011, 06:25:59 PM
Gracias por tu respuesta, pero necesito m?s precisi?n si es posible.
Para empezar, cuando pongo el evento DRAW en el objeto, simplemente desaparece al correr el programa. Luego necesitar?a saber qu? instrucci?n uso para dibujar las partes (ojos, boca, nariz etc) (draw_sprite?..)
Quiz?s un ejemplo ser?a muy ?til (gm7)

Gracias de nuevo!  8)
Título: Re: Insertar sprites dentro de otro m?s grande
Publicado por: MaanuRP en Noviembre 06, 2011, 07:07:21 PM
Lo que seria mas sencillo (Por lo menos para mi) seria hacer, por ejemplo, un sprite con 7 subimagenes ya predefinidas (Una cara vacia, una cara con un ojo, una cara con los dos ojos, una cara con los ojos y una boca, etc), e ir cambiandolas segun lo necesites, para ya tener el sprite definido como tu lo quieres, y se dibujara la subimages con las partes que quieres.

Aunque esto solo funcionaria si el orden en que quieres que se creen las cosas dentro fuese siempre el mismo, sino tendrias que hacer muchos sprites.




Lo mejor, pero un poquito mas trabajoso, seria que busques en que x y en que y se dibujaria todo. Por ejemplo el circulo en x;y el primer ojo en x-8;y-8 y asi.

Entonces haces:

if ojo_activo = 1 {draw_sprite(ojo,0,x-8,y-8)}

O algo asi.
Título: Re: Insertar sprites dentro de otro m?s grande
Publicado por: elviskelley en Noviembre 06, 2011, 08:41:14 PM
primero para que no se desaparezca el sprite al usar draw coloca primero este c?digo en el event draw.
draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_angle, image_blend,image_alpha);

ahora para lo demas usa lo que te dice Zeit y MaanuRP.
en el todo en el event draw.