image_speed=0

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

  • image_speed=0

    Nabend
    held betritt den raum
    läuft bis zu bestimmten obj_stop. dieses lößt spritewechsel aus (also dass der held nicht mehr läuft sondern ne Geste ausübt) und stoppt gleichzeitig objektbewegung (der soll sich ja nicht mehr weiter bewegen), destroyd sich dabei selbst um nicht permanente kollision auf den Held auszuüben.
    mein Problem:
    mein Held-Objekt wartet darauf, dass das objekt sich selbst zerstört.
    DANN soll er die Animation ausüben und beim letzten frame einfrieren, sich nicht mehr bewegen.
    Das hab ich über 2 Wege versucht: Zeit abwarten, um dann den image_speed auf 0 zu setzen.
    Frame prüfen ob der auf letzten angelangt ist und dann stoppen. beides geht nicht.
    Diesen Freeze-Effekt übe ich mit dem Hintergrundobjekt aus, welches immer da ist, und das ganze im Create-Event.
    Na, wer ist noch Gedanklich bei mir?^^

    Beispiel mit Alarm:
    Spoiler anzeigen

    if !object_exists(obj_stop) <- obj_stop ist das Hindernis-Objekt, welches den Helden zum stehenbleiben zwingt und sich dann löscht.
    {
    alarm[0] = room.speed * 3;
    shoot.image_speed=0; <- shoot ist das sprite, welches das Objekt im Stand ausübt.
    }

    Ergebnis - der Held stellt sich aus Position und fängt im loop an zu schießen.
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Beispiel mit Frameabfrage:
    Spoiler anzeigen


    if !object_exists(obj_stop)
    {
    if shoot.image_index=15;
    {
    shoot.image_speed=0;
    }
    }

    Ergebnis - Das Spiel startet erst garnicht

    Ich weiß das ist ne Endloslange Frage und mir gedanklich zu folgen ist nicht unbedingt das leichteste der Welt. ;D
    Wenn möglich wäre ich sehr dankbar, wenn mir jemand in beiden Fällen!!! den Fehler aufzeigen kann.
  • Also vielleicht mach ich ja irgendetwas grundlegend falsch.
    Habe extra neues Projekt erstellt.
    1 raum
    1 objekt im raum
    1 sprite mit 10 frames
    sprite dem einen objekt zugefügt.
    create-event erstellt. Code exakt so eingetragen. nur die Zahl 14 durch die zahl 5 ausgetauscht.

    jetzt rennen alle 10 frames trotzdem noch im loop durch.
  • Übrigens kleiner Einwurf: Nutze instance_exists und nicht object_exists. object_exists schaut nämlich nur, ob es dieses Objekt im Projekt selbst gibt, während instance_exists schaut, ob eine Instanz dieses Objektes gerade im Raum vorhanden ist.
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Leute, ich hab jetzt wirklich einige Stunden nur in ein Thema gesteckt= sprite-wechsel nach bestimmten Ereignissen. (positionsabfragen, objektabfragen, imageabfragen undundund.)
    Solangsam bekomme ich es auf die Reihe. Habe mit euren Beispielen und tipps ewig rumhantiert.
    Für mich ist das Thema erledigt, ich stelle den code wie ichs jetzt hab nicht rein. das sind 8 Objekte die ineinander greifen.
    Das Hauptproblem für nen Einsteiger wie mich ist glaub die Denkweise. Das braucht ne ganze Weile bis man wie GML denken kann. ;)

    An dieser Stelle: vielen Dank euch!

    -closed-
  • Jeder hat mal klein angefangen ;)
    Was ich nur empfehlen kann ist es regelmäßig in das Hilfedokument zu schauen, wenn man wissen möchte wie genau eine Funktion zu benutzen ist oder auch mal so ein bestimmtes Kapitel überfliegen. Mit der mittleren Maustaste auf eine Funktion kannst du direkt den Abschnitt zur Funktion öffnen und es gibt direkt Beispielcode zur Funktion.