Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: aaron966 en Septiembre 20, 2011, 06:53:30 PM

Título: Como puedo crear una barra como la de salud para una variable??
Publicado por: aaron966 en Septiembre 20, 2011, 06:53:30 PM
Hola, se puede crear una barra, o barra circular como la de health per? para otra variable, por ejemplo:
mientras el arma se esta recargando que esa barra est? a 0 i vaya subiendo


saludos
Título: Re: Como puedo crear una barra como la de salud para una variable??
Publicado por: MaanuRP en Septiembre 21, 2011, 02:54:31 AM
Si si, con la funcion de la barra de vida:

[gml]
draw_healthbar(x1,y1,x2,y2,amount,backcol,mincol,maxcol,direction,showback,showborder)
[/gml]


Con esta funci?n puedes dibujar una barra de vida (o una barra que indique cualquier otra cosa como poder, magia,?). Los par?metros x1, y1, x2 e y2 indican el ?rea total de la barra. amount indica el porcentaje de la barra que debe estar relleno (debe estar entre 0 y 100). backcol es el color de fondo de la barra. mincol y maxcol indican el color cuando el porcentaje de llenado (par?metro amount) es 0 y 100 respectivamente. Para un porcentaje intermedio el color se interpola entre estos dos. As? puedes crear f?cilmente una barra que vaya de verde a rojo, por ejemplo. direction es la direcci?n en la que la barra se dibuja: 0 significa que la barra est? fijada a la izquierda, 1 a la derecha, 2 arriba y 3 abajo. Finalmente, showback indica si debe mostrarse una caja de fondo y showborder si la caja de fondo y la barra deben tener un borde negro.


Por si no quieres leer te lo simplifico:

Debes imaginar para que son la mayoria de los parametros pero el que a ti te interesa es "amount", en ese va el nombre de la variable del que quieres crear la barra de vida.
Título: Re: Como puedo crear una barra como la de salud para una variable??
Publicado por: aaron966 en Septiembre 21, 2011, 03:25:18 PM
gracisa, :)

Saludos
Título: Re: Como puedo crear una barra como la de salud para una variable??
Publicado por: charliegore en Septiembre 21, 2011, 08:56:49 PM
si la queres hacer mas personalizada, podes dibujar la barra vacia, luego la partis en 10 partes y en las sub imagenes haces desde q no tiene ninguna barra llena(imagen 0) a la que tiene las diez partes llenas(imagen 10) y luego creas un objeto que sea la barra y en el evento step de esta pones:
[gml]
if P1.vida=0{
sprite_index=vida_spr
image_index=0
image_speed=0
};
if P1.vida=10{
sprite_index=vida_spr
image_index=1
image_speed=0
};
if P1.vida=20{
sprite_index=vida_spr
image_index=2
image_speed=0
};
...
[/gml]
y asi hasta llegar a 100 de vida, y la barra cada 10 que baja de vida se va vaciando,obvio siendo de este codigo P1 el nombre del objeto de tu personaje y vida_spr el sprite de la barra.

y por si no entendes aunque es facil te lo explico:
if p1.vida=0 significa que si la variable vida del objeto p1 esta en 0 pasa lo siguiente
sprite_index=vida_spr (se muestra el sprite de la vida)
image_index=0 (se muestra la sub imagen 0)
image_speed=0 (no se mueve la imagen hasta que funcione el siguiente if)

si tiene alguna falta de ortografia perdon pero lo estoy haciendo medio a las apuradas :)
espero que te sea de utilidad :)
Título: Re: Como puedo crear una barra como la de salud para una variable??
Publicado por: Wadk en Septiembre 21, 2011, 11:40:20 PM
@charliegore: No es una mala idea pero el c?digo lo veo muy redundante. Podr?a cambiarse por esto:
[gml]image_single = floor(P1.vida / 10);[/gml]
y nada m?s.
Título: Re: Como puedo crear una barra como la de salud para una variable??
Publicado por: MaanuRP en Septiembre 22, 2011, 03:19:01 AM
Perdon por dar una respuesta sin sentido, pero espero algun dia ser como Wadk, sabe TODO de GM! jajaja.

Que gran comunidad, hay muchisimos usuarios que son expertos en este lenguaje! Y por lo que vi, en varios lenguajes.

Felicitaciones a todos!