Holap, para el juego que estamos haciendo con un amigo, queriamos que nuestra barra de vida fuera circular, y que al perder una vida los circulos que tiene la imagen se volvieran negros, probe el metodo que sale en los tutoriales de la pagina pero la imagen se me repite 7 veces xD , alguien conoce algun metodo? ..

Mmm lo unico que se me ocurre es que sincronices.

Esa imagen va a estar situada en "view_xview" y "view_yview" cierto? Por lo que cada circulo va a estar situado en "view_xview + x" y view_yview + y", no?

Por lo que solo te quedaria ver que cantidad sumarle a cada variable para cara circulo y en un evento draw hacer que si se pierde una vida o como sea, se dibuje un circulo de igual tama?o en esas variables "view_xview + x" y view_yview + y".

Me explico?

#2 Octubre 04, 2011, 01:10:17 AM Ultima modificación: Octubre 04, 2011, 01:12:55 AM por CrashKen
no entendi bien
?solo quieres hacer que cuando pierdas alguna vida, 1 circulo se apague?
o tambien que la cantidad de salud que le queda al personaje se represente en ese circulo, tipo mu online.
si es lo primero es facil, dibuja un sprite de 1 luz apagada, en el evento que dibuja ese circulo, agrega para que dibuje el sprite, pero con un if

para el circulo que representa la primera vida seria algo como

if vidas>0 {
draw_sprite(x,y,circuloapagado)
}

para la segunda vida

if vidas>1 {
draw_sprite(x,y,circuloapagado)
}

y asi... obviamente cambia las posicions xy por las que correspondan
Gracias Jhony por prestarme tu nick

MaanuRP  la verdad es que entendi mas o menos... tratare de hacerlo y te dire que ocurre..

CrashKen "o tambien que la cantidad de salud que le queda al personaje se represente en ese circulo, tipo mu online." exacto?? eso es..

emm, el sistema como lo plantee es asi, tienes 3 vidas en general, pero cada vida tiene 7 subvidas por llamarlo de alguna manera, que estan representadas por los circulos de la imagen que postee, al recibir un golpe pierdes un circulo rojo y se vuelve negro..  me baje un ejemplo que hace exactamente eso, pero no lo puedo hacer funcionar..

[gml]global.h = 63 [/gml]
[gml]//The code below checks what value the health is and what image to draw if
//global.h = a cetain value.
if global.h = 9
{
draw_sprite_part(Abarradevida,1,0,0,0,height,150,150)
}
if global.h = 18
{
image_index = 1;
image_speed = 0;
}
if global.h = 27
{
image_index = 2;
image_speed = 0;
}
if global.h = 36
{
image_index = 3;
image_speed = 0;
}
if global.h = 45
{
image_index = 4;
image_speed = 0;
}
if global.h = 54
{
image_index = 5;
image_speed = 0;
}
if global.h = 60
{
image_index = 6;
image_speed = 0;
}
if global.h = 66
{
image_index = 7;
image_speed = 0;
}
if global.h = 63
{
image_index = 8;
image_speed = 0;
}
//The code below checks if the value is zero and what to do if it is.
if global.h = 0
{
show_message('You ran out of health the game will now restart')
game_restart()

} [/gml]

Mira, yo te hice un engine para poner una vida en negro.

Es mucho trabajo con sprite y numeros que hay que fijarse. Sinceramente no tengo ganas de hacerlo, pero con el engine se entiende lo que hace.

Cualquier duda me dices, aunque no estoy seguro si te servira.

funciono???? le hice algunos cambios al archivo que me enviaste pero ahora logre hacer lo que queria, lo unico es que la barra de vida no sigue al personaje pero ya encontraremos una solucion para eso... muchas gracias nuevamente??

#6 Octubre 04, 2011, 02:49:58 AM Ultima modificación: Octubre 04, 2011, 02:52:23 AM por MaanuRP
No sigue al personaje porque el objeto de la barra de vida esta estatico con respecto a la view, que esta ultima se mueve con el personaje, por lo que se queda quieto.

Lo que debes hacer es poner en el evento step del objeto de la barra de vida:
[gml]
x = view_xview
y = view_yview
[/gml]

Si no me equivoco, con esto funcionaria, esto hara que el objeto se posicione en la esquina superior izquierda de la view.

gracias , eso use, quedo de esta manera , va en el evento draw del objeto de la barra de vida.. 

[gml] draw_sprite(spr_Barradevida,0,view_xview[0],view_yview[0]); [/gml]

Claro, tienes razon. Olvide por completo lo del evento draw.

Pero ahora que lo pienso, me parece que es lo mismo, ya que en el evento draw original toma los valores x e y del objeto. Por ende, si los valores x e y del objeto son view_xview y view_yview, los valores de la funcion draw_sprite seran esos.




Tema solucionado o todavia te falta arreglar algo?

 :'( , no, tengo un problema cuando colisiona con el enemigo, use esto en el evento de colision [gml] set variables lives to -1[/gml] pero al hacerlo pierde todos los puntos de vida pero al personaje no le ocurre nada x.x ... no desaparece ni el enemigo y mi personaje no recibe da?o ... no se como explicarlo mejor xD , dejo el ejecutable por si le puedes pegar una miradita..

Cita de: shaggymon en Octubre 04, 2011, 07:24:55 PM
:'( , no, tengo un problema cuando colisiona con el enemigo, use esto en el evento de colision [gml] set variables lives to -1[/gml] pero al hacerlo pierde todos los puntos de vida pero al personaje no le ocurre nada x.x ... no desaparece ni el enemigo y mi personaje no recibe da?o ... no se como explicarlo mejor xD , dejo el ejecutable por si le puedes pegar una miradita..

no es mas facil [gml]lives-=1[/gml] ?
Gracias Jhony por prestarme tu nick

#11 Octubre 04, 2011, 07:49:08 PM Ultima modificación: Octubre 04, 2011, 07:54:04 PM por shaggymon
si xDD , es que no sabia como ponerla en gml y use drag and drop xDD , pero sigo teniendo el mismo problema, mi enemigo en vez de restarme un solo punto de vida me saca 5 o 6 o me mata al instante x.x ...

#12 Octubre 04, 2011, 08:54:39 PM Ultima modificación: Octubre 04, 2011, 11:59:38 PM por MaanuRP
Me tira error al abrir el archivo editable.

Seguro que es porque no destruyes el objeto del enemigo o esta en no solido, por lo que se superponen y se bajan todas las vidas en un instante


Probe el editable, a mi no me pasa esto que dices tu, me sucede lo que dice en el objeto, cuando colisiana con un enemigo se destruye y se le descuenta una vida.

de verdad? sip pero si te fijas en la "barra" de la izquierda si no le pegas al enemigo , te quita todas las vidas muy rapidamente y no se como cambiar eso..

No no, es mas, si no le cambio nada a tu ejemplo. Si toco al enemigo desaparezco y pierdo una sola vida.