Lebens Balken über Gegnern

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Lebens Balken über Gegnern

    Ich hab ein Problem.

    Ich möchte mich an einem kleinen Action Rollenspiel versuchen.
    In dem Spiel laufen kleine Monster herum die jeder seine eigenen Leben hat.
    Wie kann ich machen das über ihnen ein Lebens Balken schwebt und ihre Leben anzeigt?

    Ich hoffe jemand hat eine Antwort für mich.

    Euer Rainer
  • hey, also mir schweben da zwei möglichkeiten durch den kopf:

    1.du zeichnest dir einfach deine eigene healthbar

    2.du zeichnest rechtecke (bessere variante) ^^
    bsp.:

    create-event:

    GML-Quellcode

    1. enemy_health=100
    2. rec=enemy_health


    draw-event:

    GML-Quellcode

    1. draw_set_color(c_red)
    2. draw_rectangle(x,y,rec,y+16,0)
    3. draw_set_color(c_green)
    4. draw_rectangle(x,y,enemy_health,y+16,0)
    5. draw_set_color(c_black)




    mfg.snake5

  • famous schrieb:

    Von daher würde ich die Draw Library empfehlen, da findest du auch "draw healthbar". Die Gesundheit verändern kannst du dann mit einer "set health" Aktion.


    Vorsicht. Beide Funktionen beziehen sich auf die globale Variable "health". Wenn man pro Instanz einen Lebensbalken braucht, ist hiermit nicht viel anzufangen.
    In diesem Fall bleibt nämlich tatsächlich nur die Möglichkeit, das ganze selbst zu coden und dann halt den entsprechenden Objekten eine Variable namens "HP" oder "life" oder sowas zu verpassen.

    Der Code zum Zeichnen lautet dann in etwa:

    GML-Quellcode

    1. draw_rectangle(linker rand, oberer rand,linker rand + (HP/maxHP)*(länge der healthbar),unterer rand,false);

    Die x2-Koordinate hängt dabei vom Prozentsatz der aktuellen Lebensenergie des Objektes im Verhältnis zu seiner maximalen Lebensenergie ab. Wenn du nun also eine 96 Pixel lange und 16 Pixel hohe Healthbar haben willst, die ihre Mitte genau auf dem Objekt haben soll und 16 Pixel über dem oberen Rand des Objektes erscheinen soll, würde der Code folgendermaßen aussehen:

    GML-Quellcode

    1. draw_rectangle(x-48,y-(sprite_height/2)-32,x-48+(96*(HP/maxHP)),y-(sprite_height/2)-16,false);


    Ich hoffe, das war jetzt einigermaßen verständlich. ^^
  • Also, ohne jetzt eure Möglichkeiten auszuprobieren.
    Möchte ich sagen ich bin nicht mehr im Drag and Drop :D auch wen ich manchmal diese Funktion noch benutze.
    Ich habe es schon mit einem Draw Skript versucht aber dan hat der Gegner nur noch die Grafik der Healthbar.

    Ich möchte das z.B. 2 Gegner existieren.

    Beide : 30 leben
    Ich möchte über jedem Gegner eine Healthbar haben die die Leben des Gegners anzeigt.

    Das heißt nach ein paar Atacken hat die vom 1 Gegner nur noch 15 und die vom 2, 10 leben.

    Wie bekomme ich es also hin:

    Den Gegner zu sehen und über ihm eine Healthbar die NUR seine leben anzeigt. Keine Globalen Leben.

    Ich hoffe ich konnte es euch erklären.