einzelnes bild von einer animation länger anzeigen als die anderen

  • GM 8

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

  • einzelnes bild von einer animation länger anzeigen als die anderen

    Frage 1:
    ich würde gerne wissen wie man z.b. in der sprung animation (4 Bilder) meines players das 4te bild länger sieht als die anderen 3.

    Frage 2:wie mache es das eine animation nur einmal abgespielt wird. z.b. bei der sterbe-animation. is ja blöd wenn der player tot umfällt und gleich wieder aufspringt um wieder tot umzufallen.

    ich hoffe ihr wisst was ich meine und könnt mir helfen.
  • Frage1:
    Ich würde einfach wenn der player springt einen alarm machen der so lange geht bis das vierte Bild erscheint(wahrscheinlich sind das 4 steps)und dann bei dem Alarm z.b. im code event einstellen

    Quellcode

    1. image_speed=0.5

    oder mit diesen Blöcken den roten Packman smiley rein machen und schreiben:
    sprite: (dein sprungplayer)
    subimage:3(dein letztes Bild)
    speed:0.5(dein beliebiger Speed für das Bild,wenn du 0 eintippst wiederholen sich die ander Bilder nicht)

    Frage2:
    Das ist so ähnlich, wenn der player stirbt machst du wieder einen Alarm der so lange geht wie die tot-animation.
    Und bei dem alarm stellstdu beim code ein:

    Quellcode

    1. image_speed=0


    ich weiß das ganze geht wahrscheinlich auch leichter aber ich machs immer so, ich hoffe ich hab dir geholfen:D
  • Zu eins:
    Kopier doch einfach einen Frame und füge ihn wieder ein dann ist er länger auf dem Bild!
    Zu zwei:
    Ich glaube ein Frame ist ein Step oder? Wenn ja musst du bei einem Bild mit 10 Frames einfach nur gleichzeitig ein Alarm laufen lassen der auf 10 Steps ist und wenn der Alarm auf 0 ist kannst du ja machen das das Objekt entfernt wird!
  • @rohkar:

    bei image-speed=1 wäre ein frame ein step
    du musst die anzahl der steps (in disem falle 1) durch den image speed teilen, dann erhältst du die anzahl der steps die bei der geshwindigkeit angezeigt werden.

    zum Thema:
    Man kanns auch so machen:
    Sterbe annimation:

    GML-Quellcode

    1. if (sprite_index="Sterbe_Sprite" && image_index=5) //ersetze 5 durch den letzten sprite und bennen Sterb_sprite in deins.
    2. {
    3. image_speed=0
    4. }

    oder mach in :event_other: animation end
    das

    GML-Quellcode

    1. if (sprite_index="Sterbe_sprite")
    2. {image_speed=0}


    und zur Sprung animation:

    GML-Quellcode

    1. if (sprite_index="Sprung_Sprite" && image_index=3) //ersetze Sprung_sprite duch deins
    2. {
    3. image_speed=0.5
    4. }
    5. else {if(sprite_index="Sprung_Sprite"){image_speed=1}}

    ändere ggf die werte ab, sollte aber gehen.
    ////////////////////////////////////////////////////////////////////////////////////////////////
  • vielen danke für eure antworten nur is das nicht so das was ich meine was aber daran liegt das ich frage falsch gestellt habe. also nochmal von vorn.

    Mein Spieler (flasche) collidiert mit dem (gegner) und soll dabei ein teil seines health-wertes verlieren, zurück springen oder fliegen, fallen und ca. 2sek nicht verwundbar sein.
    wenn der spieler dann zum schluss mit dem gegner collidiert und der health-wert dann unter 1 sinkt, also spieler stirbt, dann soll (flasche) wieder vom (gegner) abprallen, springen, o.ä. und dann soll im flug die sterbe-animation (tot_links oder tot_rechts) einmal abgespielt werden. dann soll die sterbe-animation beim letzten frame stehen bleiben während der spieler(flasche) zu boden fällt. dann soll z.b. 5sek gewartet werden und das level neugestartet werden.

    ich habe jetzt schon so viel umher probiert aber ich komme zu keiner lösung.