image_single/switch problem

  • GM 8
  • image_single/switch problem

    Hi, alle Zusammen.
    Ich hätte da ein Problem mit den funktionen image_single und switch.
    Also:

    Ich wollte eine Healthbar machen die, jenachdem wieviel Leben man hat, sich verändert.
    Ich habe also mehrere Images in ein Sprite gemacht:

    bilder-hochladen.net/files/e0j4-1-jpg-nb.htmlJedesmal, wenn ein Leben verloren geht, soll eine rote Einheit Grau werden.

    Dann habe ich ein Object mit diesem Sprite erstellt und im Create event
    diesen Code hier eingegeben:

    GML-Quellcode

    1. switch (lives)
    2. {
    3. case (5): image_single = 0 ;break;
    4. case (4): image_single = 1 ;break;
    5. case (3): image_single = 2 ;break;
    6. case (2): image_single = 3 ;break;
    7. case (1): image_single = 4 ;break;
    8. case (0): image_single = 5
    9. sleep(1000)
    10. show_message("No more lives")
    11. game_end() ;break;}
    Alles anzeigen


    Das hat im Spiel dann nicht gefunzt, obwohl ich beim Player im collision Event eingestellt hab, dass immer,
    wenn er einen Feind berührt, ein Leben abgezogen wird.

    Andere Idee: Ich hab "sprite_index" ausprobiert:

    GML-Quellcode

    1. switch (lives){case (5): sprite_index = sprite6 ;break;case (4): sprite_index = sprite11 ;break;case (3): sprite_index = sprite10 ;break;case (2): sprite_index = sprite9 ;break;case (1): sprite_index = sprite8 ;break;case (0): sprite_index = sprite12 sleep(1000)show_message("No more lives")game_end() ;break;}



    Das funktioniert auch nicht. Ich kapiers einfach nicht! :(

    EDIT:
    Keine ahnung, was mit dem 2. GML-Code Passiert ist.
    Spiele Fortschritt:
    ScoX Deluxe: 3,6%

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

  • Man wendet switch so an:

    GML-Quellcode

    1. var wert;
    2. wert=get_integer("Zahl eingeben",0)
    3. switch(wert)
    4. {
    5. case 0:
    6. show_message("Die Zahl ist 0");
    7. break;
    8. case 1:
    9. show_message("Die Zahl ist 1");
    10. break;
    11. case 2:
    12. show_message("Die Zahl ist 2");
    13. break;
    14. }
    Alles anzeigen
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • er meint ob du was im draw event stehen hast. da wenn du irgentetwas mit deinem object drawst dein sprite neu drawen musst.



    EDIT: :!: :!:

    sry aber ich bin schockiert:




    Zitat von Danforce:

    und im Create event diesen Code hier eingegeben

    Hilfe!! alles aber nich das der Code muss ins Step event da er sonst nur ausgeführt wird wenn das object erstellt wird also nur einmal. Im Step event hingegen überprüft er jeden step ob leben abgezogen wurde!!
    Ich will wie mein Opa im Schlaf sterben, nicht heulend und schreiend wie sein Beifahrer.





    I am a in the GM Quiz! :heul: :vogel:

    :gmlove:

    xD
  • :D Hups! Stimmt Ja
    Ich lern (erst) eeit einem halben oder 3/4 Jahr, mit dem Game Maker Spiele zu programmieren.(Und erst seit nem Monat oder zwei GML).
    Naja ich habs geschafft. Ich hab meinen Player als Parent-Object genommen und Move auf Stopp gesetzt un den ersten Code
    aus'm ersten Post dazugeschmissen.
    Un jez funzt's. :thumbsup:

    EDIT: Thema ERLEDIGT!!!
    Spiele Fortschritt:
    ScoX Deluxe: 3,6%