Hola Amigos! :D,Tengo una duda, como se puede hacer una barra de vida propia con un sprite ,lo de la variable de la vida es facil pero lo dificil es llevarlo a draw para dibujar la barra segun la vida que tenga, unos dicen que hay que hacer un sprite de 100 subimages,y yo digo que eso es muy complejo y creo que hay una forma mas simple.Podrian ayudarme por favor. :'(
http://www.comunidadgm.org/preguntas-y-respuestas/ayuda-con-la-barra-de-vida/ (http://www.comunidadgm.org/preguntas-y-respuestas/ayuda-con-la-barra-de-vida/)
Hola, yo tengo una solucion mas sencilla, y consiste en hacer un solo grafico.
En cuanto regrese a mi casa edito la respuesta, para escribir todo el código.
Consiste en utilizar el draw_sprite_ext(); usa una regla de 3 o productos cruzados y el atributo xscale.
Existe una función llamada draw_healthbar que permite dibujar una barra de salud sin tener que recurrir a sprites.
Es un poquito compleja de usar, pero si simplemente quieres hacer una barra de salud corriente y moliente te vale.
En el tutorial de Game Maker deberían explicarte mejor su uso.
Por eso. Mi barra de vida es solo una barra verde y abrurrida XD asi que queria saber como hacerla con sprites :-[
Podes poner una imagen de como queres que sea ???
Así seria con sprites:
for(a=0 a<salud_maxima a++){
if(a<salud_total) draw_sprite(spriteA, 0, a, y)
else draw_sprite(spriteB, 0, a, y)
}
Pero sinceramente, si va a ser una barra simplona, te recomiendo mejor la función que te mostré antes, aunque también tengo que decir que estos no son los 2 únicos modos, sino que hay muchos métodos. Solo es cuestión de probarlo todo y luego ver que te gusta más.
En la sección de descargas tenes muchos ejemplos útiles, algunos de versiones anteriores de :GM8: pero que son compatibles al reemplazar un par de funciones.
Acá te dejo un ejemplo de barras de vidas hechas con sprite, está en :GM8:.
http://www.comunidadgm.org/index.php?page=verdescargas&accion=descargaD&download_id=2200
Cita de: Marth en Agosto 02, 2014, 12:36:52 AM
Así seria con sprites:
for(a=0 a<salud_maxima a++){
if(a<salud_total) draw_sprite(spriteA, 0, a, y)
else draw_sprite(spriteB, 0, a, y)
}
Pero sinceramente, si va a ser una barra simplona, te recomiendo mejor la función que te mostré antes, aunque también tengo que decir que estos no son los 2 únicos modos, sino que hay muchos métodos. Solo es cuestión de probarlo todo y luego ver que te gusta más.
Eso es lo que yo intente hacer hice:
for(i=0;i<global.salud;i+=20;)//porque son 100 de salud y queria hacerlo 5 veces
y en el draw es donde no me funcionaba
draw_sprite(spr_bar,image_index,view_xview[0]+32*i,view_yview[0]*16)
el error era en x no sabia que poner queria que lo siguiera la view y se dibujara segun i y salian 5 pero separada XD :P
ahora si funciona Muchas gracias Marth ya entendi el error que tenia gracias :D