Geschwungene Healthbar

  • GM 8

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

  • Geschwungene Healthbar

    Hi, Community!

    Ich versuche, eine Healthbar wie in der Skizze zu erstellen, die zuerst von unten nach oben und dann nach rechts verlaufen soll (Sorry, dass diese wo billig aussieht, hatte leider gerade nur ein billiges iPad-Zeichenprogramm zur Verfügung xD). Leider kenne ich mich mit den draw primitive-Funktionen noch nicht besonders gut aus und weiß nicht genau, wie ich es schaffen soll, dass diese Kurve vernünftig aussieht :/. Der Hintergrund muss übrigens nicht unbedingt vom GM gezeichnet werden, sondern kann ein Sprite sein. Hinter diesem Sprite ein Rechteck oder ähnliches zu zeichnen funktioniert übrigens nicht, da ich Ausblendeffekte mit Tranzparenz benutze. Hoffentlich ist das nicht zu schwer, über eure Hilfe würde ich mich freuen ;)
    Bilder
    • image.jpg

      577,9 kB, 2.048×1.536, 257 mal angesehen
  • Rodrog schrieb:

    Hallo,

    Also du könntest dir die Bilder als Animation erstellen und später mit der maximalen HP berechnen, welcher sprite_index ausgewählt wird.

    MfG Rodrog

    Ja, das wäre ein Ansatz, nur bräuchte ich dafür wohl sehr viele Sprites, denn 100 für die Prozent reichen mir nicht und 1000 wären nicht besonders ressourcenschonend. Trotzdem danke, ich werde mir das als Notlösung merken ;)
  • Was du brauchst ist soetwas in der Art:

    GML-Quellcode

    1. draw_primitive_begin(pr_trianglefan)
    2. draw_vertex_color(5,5,c_green,3)
    3. draw_vertex_color(100,50,c_red,3)
    4. draw_vertex_color(50,100,c_yellow,3)
    5. draw_primitive_end()


    Das zeichnet dir ein Dreieck in die linke Raumecke, du kannst aber eben auch die Koords von deiner Healthbar angeben, aber 1000 Zwischenpunkte und jeweilige If abfragen oder einen Switch zum drawen ginge da auch nicht...

    wenn es entlang der horizontalen oder vertikalten geht ist das besser.


    Apropo horizontal udn vertikal du kannst ja auch zwei 4ecke drawen lassen, eins das von oben runter immer kleiner wird ab zB 30% Leben und eines das von 31 bis 100% in der horizontalen drawed. Die Healthbar Maske deckt das ganze so ab, dass sie gekrümmt und wie ein Balken aussehen.

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)
  • oder du erstellst 2 Sprites, eine komplett leer und die andere koplett voll.
    Dann kannst du einfach 2 Sprite-Parts drawen.

    Example könnte ich dir machen
    Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
    Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
    Nach langer zeit wieder im Forum aktiv :D
  • Das geht unter anderem mit einem "Schiebebalkenmechanismus".
    Du lässt die Grafik immer weiter nach links rücken. Das kann bei deinem Vorhaben aber schwierig werden.

    Deshalb mach es so, wie es bereits andere genannt haben.
    D.h. verschiedene Grafiken für verschiedene Gesundheitslevel oder zwei Grund-Sprites als Vorlage für den GM.

    Oder: Du machst eine simple Healthbar mit grundlegenden Draw Events.

    Die Healthbar kannst du später immer noch abändern.
  • Hi, Leute! Danke für eure vielen, schnellen Rückmeldungen ;)

    Aku_Ryou schrieb:

    Was du brauchst ist soetwas in der Art:

    GML-Quellcode

    1. draw_primitive_begin(pr_trianglefan)
    2. draw_vertex_color(5,5,c_green,3)
    3. draw_vertex_color(100,50,c_red,3)
    4. draw_vertex_color(50,100,c_yellow,3)
    5. draw_primitive_end()


    Das zeichnet dir ein Dreieck in die linke Raumecke, du kannst aber eben auch die Koords von deiner Healthbar angeben, aber 1000 Zwischenpunkte und jeweilige If abfragen oder einen Switch zum drawen ginge da auch nicht...

    wenn es entlang der horizontalen oder vertikalten geht ist das besser.


    Apropo horizontal udn vertikal du kannst ja auch zwei 4ecke drawen lassen, eins das von oben runter immer kleiner wird ab zB 30% Leben und eines das von 31 bis 100% in der horizontalen drawed. Die Healthbar Maske deckt das ganze so ab, dass sie gekrümmt und wie ein Balken aussehen.


    Sieht schon mal ganz vielversprechend aus, nur weiß ich nicht, wie ich diese Funktionen im Zusammenhang mit der Healthbar einsetzen soll, hast du vielleicht ein Example oder so?
    Deinen letzten Absatz habe ich nicht ganz verstanden, kannst du mir das bitte genauer erklären?

    Larsi schrieb:

    oder du erstellst 2 Sprites, eine komplett leer und die andere koplett voll.
    Dann kannst du einfach 2 Sprite-Parts drawen.

    Example könnte ich dir machen


    Ja, bitte! Ich verstehe nicht ganz, wie ich den Übergang zwischen den 2 Sprites gestalten soll

    Michaelp800 schrieb:

    Das geht unter anderem mit einem "Schiebebalkenmechanismus".
    Du lässt die Grafik immer weiter nach links rücken. Das kann bei deinem Vorhaben aber schwierig werden.

    Deshalb mach es so, wie es bereits andere genannt haben.
    D.h. verschiedene Grafiken für verschiedene Gesundheitslevel oder zwei Grund-Sprites als Vorlage für den GM.

    Oder: Du machst eine simple Healthbar mit grundlegenden Draw Events.

    Die Healthbar kannst du später immer noch abändern.


    Eine simple Healthbar wär mir zu mainstream, solch eine hatte ich in der vorherigen Version meines Spiels schon ;)
  • Larsis Idee ist wohl die einfachste:
    Du erstellst dir 2 Grafiken, eine für die volle Healthbar und eine für die leere. Die leere Zeichnest du einfach immer und darüber zeichnest du mit draw_sprite_part die volle, je nach anzahl der HP. Funktioniert halt nicht, falls bei niedriger Gesundheit diese dann auch in die Kurve "zurücksinken" soll, also zum Schluss nach unten geht.

    © 2008 by Teamgrill Productions
  • MasterXY schrieb:

    Larsis Idee ist wohl die einfachste:
    Du erstellst dir 2 Grafiken, eine für die volle Healthbar und eine für die leere. Die leere Zeichnest du einfach immer und darüber zeichnest du mit draw_sprite_part die volle, je nach anzahl der HP. Funktioniert halt nicht, falls bei niedriger Gesundheit diese dann auch in die Kurve "zurücksinken" soll, also zum Schluss nach unten geht.

    Ja, das ist der "Schiebebalkenmechanismus", den ich gemeint habe. :D
    Der Zipfel, der da runter hängt, ( 8o ) ist halt schon sonderbar bei dieser Healthbar.

    "Sonderbar, diese Healthbar"!
  • Ok, ihr habt mich überzeugt, so mach ich das jetzt :D
    Danke für dein cooles Beispiel, Larsi ;)
    Wenn trotzdem jemand weiß, wie ich machen kann, dass der Bogen zuerst von unten nach oben aufgefüllt wird, wäre ich froh über einen Vorschlag.
    Momentan gebe ich mich mal zufrieden^^
  • Ich habe mich mal an einem Ansatz mit draw_primitive versucht.

    Das ganze funktioniert nur in etwa so, wie du es wolltest und hat das Problem, das die Healthbar nicht gleichmäßig sinkt. Schau es dir am besten einfach selbst an.
    Dateien
    • healtbar.gmk

      (12,19 kB, 136 mal heruntergeladen, zuletzt: )
  • andre111 schrieb:

    Ich habe mich mal an einem Ansatz mit draw_primitive versucht.

    Das ganze funktioniert nur in etwa so, wie du es wolltest und hat das Problem, das die Healthbar nicht gleichmäßig sinkt. Schau es dir am besten einfach selbst an.

    Wow... Ich versteh nicht mal ansatzweise, was das alles bedeutet, aber danke... das ist unglaublich cool :O
    Ich werde noch etwas daran herumbasteln und machen, dass dieser Effekt nur bei der Kurve ist und rechts davon die Leiste normal weiter geht ;)
    Das Wackeln finde ich nicht so schlimm, weil sich im Spiel die Leiste nicht so viel bewegt wie im Beispiel, gute Arbeit!