Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: loko17 en Diciembre 24, 2010, 10:49:30 AM

Título: Problema con barra de vida de enemigos (solucionado)
Publicado por: loko17 en Diciembre 24, 2010, 10:49:30 AM
Aqui estoy de nuevo esta vez tengo un problema con la barra de vida de los enemigos , cuando mato el primero todo bien pero al ir a por el segundo la barra de vida no funciona , os dejo un ejecutable haver.
PD: presionar 2 para poner el rifle y espacio para disparar ( aunque imagino lo veriais en el codigo ^^)
Título: Re: Problema con barra de vida de enemigos
Publicado por: juan pablo en Diciembre 24, 2010, 09:05:11 PM
es muy simple
todos dependen de la misma barra
por eso no funciona
ocupa variables ahi
y en enemy hp ahi dibujas la variable
Título: Re: Problema con barra de vida de enemigos
Publicado por: loko17 en Diciembre 26, 2010, 12:33:30 PM
No acavo de ententer lo que dices , me lo detallas un poco para que un novato como yo lo entienda xD
Título: Re: Problema con barra de vida de enemigos
Publicado por: Silver_light en Diciembre 27, 2010, 04:54:26 PM
Lo que sucede es que en el evento de dibujo de: obj_barra_mobhp
Cuando dibujas el rectangulo, la expresion:
[gml]view_xview[0]+400+(50/100 * argo.mobhp)[/gml]
Hace que se dibuje la vida de la primera instancia del objeto "argo"
Como dice Juan Pablo, dibuja la barra en el mismo objeto as? cada instancia de "argo" tendra su propia vida.
De paso le agregas una variable de dibujo, as? no se dibujan todas al mismo tiempo, checas si es verdadero o falso. As? ya no tendras que utilizar el objeto: obj_barra_mobhp
Adjunto tu editable arreglado con todo lo que he dicho anteriormente, de todas formas te recomiendo que le des una mirada a los cambios que hice y trates de entenderlos
Saludos! :)
Título: Re: Problema con barra de vida de enemigos
Publicado por: loko17 en Diciembre 28, 2010, 12:58:01 PM
Muchas gracias por solucionarlo y explicarlo , he entendido los cambios y el uso de la variable lo unico que no tengo muy claro es el uso del codigo en el evento draw draw_sprite(sprite_index,image_index,x,y); aunque veo que es necesario.
Título: Re: Problema con barra de vida de enemigos (solucionado)
Publicado por: Silver_light en Diciembre 28, 2010, 04:57:31 PM
Ha s? ese pedacito de codigo...
Lo he colocado porque cuando dibujas algo en el evento draw de un objeto el sprite asignado deja de dibujarse, entonces coloco:
[gml]draw_sprite(sprite_index,image_index,x,y);[/gml]
para dibujar el sprite asignado,las subimagenes actuales (para la animacion)
y las cordenadas del objeto.
:)