Lebensanzeige ändern (von oben nach unten)

  • Lebensanzeige ändern (von oben nach unten)

    hi,

    kann mir einer sagen ob man diese Lebensanzeige so verändern kann das sie bei Lebensverlust von "oben nach unten" verläuft statt von "rechts nch links"?

    Create Event

    Quellcode

    1. health1=100
    2. xpos=8
    3. ypos=8


    Draw Event

    Quellcode

    1. spr_w=sprite_get_width(spr_health)
    2. spr_h=sprite_get_height(spr_health)
    3. // scalerate
    4. rate=spr_w/100
    5. // healthbar color
    6. col=make_color_rgb(255-(health1*2.55),health1*2.55,0)
    7. // Healthbar
    8. draw_sprite_part_ext(spr_health,0,0,0,health1*rate
    9. ,spr_h,xpos,ypos,1,1,col,1)
    Alles anzeigen
  • So?

    GML-Quellcode

    1. spr_w=sprite_get_width(spr_health)
    2. spr_h=sprite_get_height(spr_health)
    3. // scalerate
    4. rate=spr_h/100
    5. // healthbar color
    6. col=make_color_rgb(255-(health1*2.55),health1*2.55,0)
    7. // Healthbar
    8. draw_sprite_part_ext(spr_health,0,0,0,spr_w
    9. ,health1*rate,xpos,ypos,1,1,col,1)
    Alles anzeigen
  • GML-Quellcode

    1. spr_w=sprite_get_width(spr_health)
    2. spr_h=sprite_get_height(spr_health)
    3. // scalerate
    4. rate=spr_h/100
    5. // healthbar color
    6. col=make_color_rgb(255-(health1*2.55),health1*2.55,0)
    7. // Healthbar
    8. draw_sprite_part_ext(spr_health,0,0,0,spr_w
    9. ,spr_h-health1*rate,xpos,ypos+spr_h,1,1,col,1)
    Alles anzeigen
  • Das funktioniert leider nicht richtig.

    Der Lebensbalken ist leer wenn ich starte.
    Wenn ich nun das Leben auf über 100 stelle füllt sich der Balken. Bei 200 ist er wieder voll.
    Also wäre 100 = 0 und 200 = 100.
    Wenn ich unter 100 komme wächste der Balken nach unten weiter.

    Das wäre ja kein Problem wenn ich das einfach auf 200 Leben lassen könnete, doch wenn ich über 100 komme funktioniert der Sprite nicht mehr und der Balken wirt ohne die Textur angezeigt.
  • GML-Quellcode

    1. var health_draw;
    2. health_draw=health1+100
    3. spr_w=sprite_get_width(spr_health)
    4. spr_h=sprite_get_height(spr_health)
    5. // scalerate
    6. rate=spr_h/100
    7. // healthbar color
    8. col=make_color_rgb(255-(health_draw*2.55),health_draw*2.55,0)
    9. // Healthbar
    10. draw_sprite_part_ext(spr_health,0,0,0,spr_w
    11. ,spr_h-health_draw*rate,xpos,ypos+spr_h,1,1,col,1)
    Alles anzeigen
  • Danke jetzt ist die Lebensanzeige bei 100 voll :)

    Aber die Textur funktioniert immernoch nicht.
    Erst wenn ich das Leben soweit abziehe das der Wert in den Minusbereich kommt und der Balken auf der anderen Seite wieder rauskommt wird die Textur für den Lebensbalken benutzt.
  • GML-Quellcode

    1. var health_draw;
    2. health_draw=health1+100
    3. spr_w=sprite_get_width(spr_health)
    4. spr_h=sprite_get_height(spr_health)
    5. // scalerate
    6. rate=spr_h/100
    7. // healthbar color
    8. col=make_color_rgb(255-(health_draw*2.55),health_draw*2.55,0)
    9. // Healthbar
    10. draw_sprite_part_ext(spr_health,0,0,0,spr_w
    11. ,ypos+spr_h,xpos,spr_h-health_draw*rate,1,1,col,1)
    Alles anzeigen
  • GML-Quellcode

    1. if health1>100 health1=100
    2. // DIE Healthbar :)
    3. if health1>0
    4. {
    5. draw_sprite_part_ext(spr_health,0,0,0,spr_w,spr_h-health_draw*rate,xpos,ypos+spr_h,1,1,col,1)
    6. }
    7. // was is das??
    8. //draw_sprite_part_ext(spr_health,0,0,0,spr_w,ypos+spr_h,xpos,spr_h-health_draw*rate,1,1,col,1)
    "das war meine letzte flamewar PM an dich ."
  • GML-Quellcode

    1. var health_draw;
    2. health_draw=health1+100
    3. spr_w=sprite_get_width(spr_health)
    4. spr_h=sprite_get_height(spr_health)
    5. // scalerate
    6. rate=spr_h/100
    7. // healthbar color
    8. col=make_color_rgb(255-((health_draw-100)*2.55),(health_draw-100)*2.55,0)
    9. // Healthbar
    10. draw_sprite_part_ext(spr_health,0,0,0,spr_w
    11. ,spr_h-health_draw*rate,xpos,ypos+spr_h,1,1,col,1)
    Alles anzeigen
  • ich glaub nicht das es an dem Farbcode liegt. Selbst wenn ich den code weglasse und nur eine Farbe angebe funktioniert die Textur im Minuswert.

    Ich denke der Fehler muss irgendwo hier liegen.

    Quellcode

    1. // Healthbar
    2. draw_sprite_part_ext(spr_health,0,0,0,spr_w
    3. ,spr_h-health1*rate,xpos,ypos+spr_h,1,1,col,1)
  • GML-Quellcode

    1. spr_w=sprite_get_width(spr_health)
    2. spr_h=sprite_get_height(spr_health)
    3. // scalerate
    4. rate=spr_h/100
    5. // healthbar color
    6. col=make_color_rgb(255-(health1*2.55),health1*2.55,0)
    7. // Healthbar
    8. draw_sprite_part_ext(spr_health,0,0,spr_h-health1*rate,spr_w
    9. ,spr_h,xpos,ypos,1,1,col,1)
    Alles anzeigen
  • draw_sprite_part_ext(spr_health,0,0,spr_h,spr_w,spr_h-health_draw*rate,xpos,ypos+spr_h,1,1,col,1)
    "das war meine letzte flamewar PM an dich ."
  • Benutzer online 6

    6 Besucher