?Hola a todos los genios de GM! ver?n, tengo serios problemas con una barra de energ?a que estoy dise?ando. Mi idea original era hacer un sistema de barra de especial al estilo video juego de lucha (King of Fighters, Street Fighters, Marvel vs Capcom, etc.)donde al lado izquierdo de la barra se encuentra un n?mero del 0 al 3 indicando hasta qu? nivel fue cargada dicha barra. Pero al verme imposibilatdo de hacer que al completar la barra 1 (de cierto color) se dibujara por encima la barra 2 (de otro color) decid? hacerlo de otra manera.
  Para que logren entenderme con claridad, les dejo por adjunto el archivo de mi proyecto, donde notar?n lo siguiente:

  • Empiezas con la barra en "0" y no se visualiza el color
  • Al presionar "1" sumas 10 de energ?a, pintandose de un color espec?fico
  • Al llegar al valor "100" la barra cambia de color y el n?mero "0" se transforma en "1"
  • Al presionar "2" quitas -10 al valor de la barra
  • Al presionar "3" incrementas el valor m?ximo de carga a 200 (para poder cargar dos barras)

Es all?, donde justamente ocurre mi problema, cuando sumas energia y la barra llega al n?mero 200, NO cambia por un nuevo color ni tampoco se dibuja el n?mero "2" indicando que ya has cargado dos barras de poder. ?Logr? explicarme con claridad? Creo que no...disculpen me cuesta la inform?tica y por lo tanto expresar mi problema tambi?n lo es, ojal? en el archivo puedan entenderlo.

Mi cuesti?n es: ?Qu? hice de mal para que al llegar a 200 la barra no cambie de color y siga marcando el n?mero "1" en lugar del "2"? Bueno, les agradezco mucho por su tiempo. Disculpen si les cost? leerme xD ??Gracias de todas maneras!! :)

Aqu? est? tu problema, evento draw:

[gml]else
if global.PJSP >= 101
{
draw_text(view_xview[0]+37,view_yview[0]+445,"1")
draw_rectangle_color(view_xview[0]+48,view_yview[0]+446,(view_xview[0]+48)+global.PJSP*115/global.PJSPMAX,view_yview[0]+460,c_blue,c_blue,c_white,c_white,0)
}[/gml]

Con ese if, cualquier n?mero mayor a 101 entrar? en este. A??dele esto:

[gml]else
if global.PJSP >= 101 && global.PJSP < 199
{
draw_text(view_xview[0]+37,view_yview[0]+445,"1")
draw_rectangle_color(view_xview[0]+48,view_yview[0]+446,(view_xview[0]+48)+global.PJSP*115/global.PJSPMAX,view_yview[0]+460,c_blue,c_blue,c_white,c_white,0)
}[/gml]

Al poner que sea menor que 199 ya est?s restringiendo el rango y funciona como deseas.

Prob? el c?digo y me sali? perfecto ?Muchas gracias genio! :D No conoc?a esa funci?n de "&&" para unir dos valores. ?Gracias nuevamente! :)

Cita de: Rufus en Julio 01, 2011, 03:47:40 AM
Prob? el c?digo y me sali? perfecto ?Muchas gracias genio! :D No conoc?a esa funci?n de "&&" para unir dos valores. ?Gracias nuevamente! :)

&& no es una funci?n, es un operador l?gico. Te recomiendo que te leas las bases del GML: http://www.comunidadgm.org/manual_GM/Estructura_general_del_GML.htm.

Suerte con una programaci?n m?s s?lida  ;)