Ver la versión completa : sobre las barras de energia...
DarkTails
21/07/2006, 03:19
Hola a todos,me gustaria preguntaros como podria hacer yo una barra de energia que no aumente el tamaño del grafico pero si la vida del personaje,mmm,asi como en los castlevanias de gba.que aumenta la vida pero no la barra,y se va abajndo segun como vaya esta.Muhcas gracias a todos.
Usa un porcentaje. Que la barra completa sea el 100% de vida y luego si va bajando pues será proporcional.
DarkTails
21/07/2006, 03:36
ostras tio pòs ni idea,¿podrias ponerme un ejemplo?
mmmm..pues por ejemplo..
La barra la divides en 10 partes iguales.
El personaje tiene un máximo 200 de vida, pues cada 20 equivale a una parte de la barra. Si le quitan vida y ahora tiene 180 pues tienes que rellenar 9 partes. Si ahora tiene un nuevo máximo de vida, 300 por ejemplo, pues cada parte equivale a 30, y así..
Obviamente si lo divides en 10 partes sería muy poco preciso, para una barra de energía mejor dividirlo en 100 partes.
Si te refieres a la típica barra de energía de juegos, está chupado. Sólo tienes que hacer 2 barras contigüas de 2 colores diferentes. Una marcará la salud y la otra la energía perdida. De esta forma, si la salud fuera en azul y la energía perdida en rojo, al inicio, barra azul = 100% = x píxeles y barra roja = 0% = 0 píxeles. Juega ahora con reglas de 3 para ir calculando con cada impacto el valor de cada barra.
Otra idea es como la que trabajo yo en web. Harías 2 barras pero una superpone a otra. De esta forma, cuando se recibe un impacto, la barra de arriba, que sería la energía, decrece y se va viendo la de abajo que mostraría el total de energía que tiene el protagonista o el bicho.
DarkTails
21/07/2006, 03:58
aja,¿pero como hago yo la regla de 3 en fenix?,hay esta el gran problema....
JimmySlam
21/07/2006, 04:28
si. tu prueba cosas el arte de programar es el arte de probar cosas.
la frase mas pensada de un programador es: "a ver si funciona asi". o como diria yo, segun puck "let's see if works like this".
Lo de calcular el porcentaje es facil;
porcentaje=(vidaquetengo x 100)/vidamaxima
Y lo de las dos barras se puede hacer superponiendo una sobre otra; puedes hacer que la de mas arriba tenga su variable local size_y (o size_x si es horizontal) sea siempre igual al porcentaje de vida que te queda; y que la otra intente igualarse sumando o restando 1 constantemente cada vez que la principal cambia de valor.
Ten en cuenta que cuando crees los gráficos de las barras tendrás que poner el punto de control 0 (con el fpg edit) en el mismo borde de la imagen para que se redimensione de manera correcta.
chemaris
21/07/2006, 05:33
si. tu prueba cosas el arte de programar es el arte de probar cosas.
la frase mas pensada de un programador es: "a ver si funciona asi". o como diria yo, segun puck "let's see if works like this".
juas yo eso lo llevo a la maxima expresión cada cosa que hago miro a ver que tal va :D
DarkTails
21/07/2006, 05:54
mirad yo hago esto:
Process plbarra();
Private
ancho=64;
daño=1;
var=0;
Begin
timer=0;
graph=702;
x=60;
y=20;
z=-6;
region=10;
Loop
var=(plvida*100)/(plmaxvida);
Frame;
write_int(0,13,15,3,&plvida);
If (timer>=10) // esta condicion la cambiariamos
if(plvida>0)
ancho=var;
plvida-=daño;
end
// Reescala la zona visible
define_region(10,15,17,ancho,4);
Frame;
timer=0;
End
End
End
bueno explico un poco,hago el porcentaje ese en la variable var,y pongo ke por cada timer vaya disminuynedo la barra de vida,asi calculo si llega al 100 y eso,pero que va ,o no se reduce al maximo,o se lleva un rato reduciendo vida y cuando llega a x vida empieza a bajar,la plvida es 80 y el plmaxvida=80 tb para el nivel 1,ya ke lo hare por niveles y cada vez ke aumente ira aumentando la vida maxima.
P.D:se me olvidaba que el grafico mide 64 pixeles de ancho y 4 de alto.
Lo de calcular el porcentaje es facil;
porcentaje=(vidaquetengo x 100)/vidamaxima
Es tan obvio que no se lo habría puesto. Le habría remitido al libro de 3º de matemáticas de EGB [wei5]
DarkTails
21/07/2006, 18:45
¡ya han salido!,hice un grafico un poco mas grande y cambié la define_region para adaptarla,ahora con cualkier valor lo asemeja a la barra,Muchas gracias a todos.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.