Buenas a todos!

Quiero partir diciendo que soy nuevo en el foro, y que leí el "instructivo" que dice que ante las dudas primero es necesario buscar información en el foro.
Hice lo anteriormente nombrado, pero al no encontrar de forma "precisa" la solución a mis dudas, vengo a plantearlas aquí para ver si me pueden ayudar un poquito.

Primero que todo, quiero decirles que soy medianemente nuevo en game maker. Solo he hecho pequeños juegos usando tutoriales y guías, por lo que aún tengo trabas al momento de "programar" cosas más complejas. Tenganme paciencia u.u

Bueno les cuento.
Me dí la tarea de dibujar una barra de vida para el protagonista de mi juego.
Dentro del mismo sprite dibujé la secuencia de reducción de la vida.
(Vale decir, desde 100% a 0%, con 50 "sub-imagenes" distintas, con cambios de colores y todo)
Y aquí viene mi duda.

¿ Como puedo hacer para que cuando el jugador reciba daño, el dibujo de la barra de vida se disminuya acorde a la cantidad de daño recibido ? Me refiero a trabajar en porcentajes y redondeos (algo parecido al mod (?)), ya que con los 50 dibujos cada animacion debería cambiar cada 2% de la vida total del jugador.
De paso también, ¿ cómo hacer que la animación de la barra de vida se quede estática, teniendo en cuenta la vida actual del jugador ?, ¿ como aumentarla, pasando al siguiente cuadro de animación ? (obviando el hecho de tener una instancia que aumente la vida numericamente hablando )

Bueno, eso creo que es todo por ahora. Espero puedan ayudarme, espero poder contar con ustedes, y espero que me tengan paciencia!!
Gracias de antemano.

PD: Recuerdo aún un poco de C, y me manejo "bastante bien" en Java, asi que no teman explicarme con codigos... aunque sé que game maker no trabaja propiamentetal con esos lenguajes.
:3

#1 Febrero 13, 2016, 04:38:08 AM Ultima modificación: Febrero 13, 2016, 04:41:19 AM por NiuWeb
Si lo que deseas es hacer una barra de vida que aumente o disminuya en relación a una variable que indique la "vida" del personaje no necesitas (ni deberías :v) usar tantas subimágenes distintas. Es más, ni siquiera necesitas usar un sprite (eso ya depende de tí :v). Te dejo un pequeño ejemplo con sprites:

1)- Tenemos un simple sprite de rectángulo de 224*32
2)- En el evento <draw> de un controlador cualquiera:
[gml]
draw_sprite_stretched(sprite0,0,x,y,(vida*224)/100,32);
[/gml]

Donde sprite0 es el índice del sprite que vas a dibujar, vida es la variable que contiene la vida, 224 es el anchor del sprite, y 32 es el largor del mismo... Por lo demás, no cambies nada xD
alaberga regué el café.

BA:STFW&RTFM

La formula seria: image_index=50*(energia/100)  Debe ir en el evento STEP.
50 es la cantidad de imagenes en el sprite, energia es la energia que tienen en el momento el jugador y 100 es la cantidad maxima de energia.
Para que no corra la animacion debes poner el evento CREATE image_speed=0

Gracias a ambos chicos!!!

Me resultó.
Con ayuda de los consejos que me dieron, e indagando un poco el funcionamiento de los codigos que me dieron en la internet, logré hacer lo que quería.
Gracias nuevamente por tomarse el tiempo de darme ideas!
:3