user_Healthbar
von HHDS
Guten Tag liebe Community!
Euch ist die vorgefertigte Healthbar zu langweilig? Ihr wollt lieber was Eigenes?
Dann seit ihr hier richtig.
Denn in diesem Tutorial zeige ich euch, wie man mit einfachen GML-Codes und evtl. etwas künstlerischem Talent eine eigene Healthbar gestaltet. Alles was ihr für den Anfang braucht, befindet sich im Anhang.

Rein theoretisch könntet ihr auch einfach um die Vorgefertigte eine Grafik rumzeichnen lassen. Jedoch ist es meistens nicht das, was ihr wollt. wenn ihr zum Beispiel diesen Code verwendet:
werden die Farben Rot und Grün entsprechend ihren Anteilen gemischt. In diesem Tutorial machen wir eine 3-Stufen-Healthbar. Also Rot-Gelb-Grün.
Ok, fangen wir an!
Als erstes brauchen wir eine Grafik. Für dieses Tutorial ist es wichtig, dass die Breite des Inneren der Healthbar nicht mehr als 100 Pixel beträgt, wie die Grafik unten zeigt:
Gut, diese laden wir als Sprite in unser Spiel. Soviel zum grafischen Teil.
Kommen wir nun zum technischen Teil:
Wir erstellen ein neues Objekt, nennen wir es mal obj_healthbar und schreiben ins Create-Event:
Als nächstes wollen wir die Healthbar zeichnen lassen. Folgendes kommt ins Draw-Event:
GML-Quellcode
- draw_sprite(spr_bar,0,x,y);
- // x und y platzieren die Healthbar an der
- // Stelle, an der ihr das Objekt gesetzt habt
- // Farbwechsel
- // Erste Möglichkeit
- if (health > 51)
- { col = c_green;}
- if (health < 51)
- { col = c_yellow;}
- if (health < 30)
- { col = c_red;}
- else if (health == 0)
- { game_end();} // Oder was halt passieren soll (z.B. Level neustarten)
- // Zweite Möglichkeit
- col = merge_color(c_red,c_green,health/100);
- if (health == 0) {game_end();} // oder whatever
- draw_set_color(col);
- draw_rectangle(x+17,y+11,x+17+health,y+33,false); // wir addieren 83, weil unsere Healthbar mehr als 100px Breite hat.
- // wichtig ist auch, dass wir bei x2 in diesem Fall
- // 17 addieren, da uns sonst die Anzeige in die
- // Bar rutschen kann
- draw_rectangle_color(x+17,y+11,x+17+health,y+33,c_black,c_black,c_black,c_black,true);
Sehr schön. Damit habt ihr es geschafft. Nur noch das object in einen Raum platzieren und fertig ist eure eigene healthbar.
Doch halt! Die Anzeige bleibt so wie sie ist! Sie rührt sich nicht!
Keine Sorge!
Um die Sache noch zu erweitern, findet sich im Anhang ein Beispiel, wie man aus der healthbar wirklich eine healthbar macht.
Bei Fragen stehe ich gerne zur Verfügung.
Viel Erfolg!
Mit freundlichen Grüßen
HHDS
PS: Aus der Healthbar kann man auch wunderbar eine andere Anzeige, wie zum Beispiel einen Ladebalken oder eine Leiste für Erfahrungspunkte machen

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von _HHDS_ ()