draw_healthbar auch selber machen

  • GM 7
  • draw_healthbar auch selber machen

    also ihr kennt doch sicher die Funktion draw_healthbar, bei der man 2 Farben angegeben kann, die sich je nach Menge der Health mischen.
    Kann man diese Mischfunktion auch selber irgendwie machen, also dass sich Farben nach einem anderen Anteil bestimmt mischen.

    Also Bsp:

    - Health ist 100, die Anzeige ist ganz voll und zwar in grün
    - Health ist 5, die Anzeige ist nur zu 5% voll, aber dafür in rot
    - Health ist 50, die Anzeeige ist halb voll und ungefähr in der Farbe gelb.

    D.h. die Farben rot und grün mischen sich nach dem Healthwert.

    Kann man so ne Funktion irgendwie selber machen, wäre euch echt dankbar dafür.
    Gruß Gamer
  • Keine Ahnung ob es funktioniert, habs mir grad aus den Fingern gesogen (Achtung, schlechter Programmierstil):

    GML-Quellcode

    1. // make_color_fade(src,dest,fade)
    2. // src = source color
    3. // dest = destination color
    4. // fade = color blending, must be 0-1, use 0 to get the source color and 1 to get the destination color
    5. return make_color_rgb(color_get_red(argument0)*(1-argument2)+color_get_red(argument1)*argument2,color_get_green(argument0)*(1-argument2)+color_get_green(argument1)*argument2,color_get_blue(argument0)*(1-argument2)+color_get_blue(argument1)*argument2);

    Um den Übergang mit mehreren Farben zu machen, würde sich das hier anbieten (health soll hierbei max. 100 sein):

    GML-Quellcode

    1. var c;
    2. if (health >= 50) {
    3. c = make_color_fade(c_yellow,c_green,(health-50)/50); }
    4. else {
    5. c = make_color_fade(c_red,c_yellow,health/50); }
    6. draw_set_color(c);


    Edit: Kleinen Fehler gemacht, argument3 durch argument2 ersetzt.
  • Benutzer online 1

    1 Besucher