[Picture Problem] Fehler bei der Anzeige eines animierten Bildes

  • Hallo liebe Entwickler-Kollegen.


    Ich hätte nicht gedacht, dass es mal soweit kommt, aber nun bin ich tatsächlich mit dem Maker doch an eine Grenze gestoßen, wo ich nicht mehr weiter weiß :/ Deswegen wende ich mich mal an euch und hoffe, dass mir jemand bei diesem Problem helfen kann. Das wäre folgendes:


    Ich habe für mein Projekt geplant, dass der Spieler ab einer bestimmten Stelle im Spiel eine Fackel nutzen soll. Dies hab ich so geregelt, dass ich ein Common Event erstellt habe, in dem die passende Flammenanimation per Pictures angezeigt wird (pro Laufrichtung 12 Frames). Funktioniert auch alles wie es soll, bloß gibt es ein sehr unschönes Problem, was mir die ganze Arbeit mehr oder weniger zunichte macht. Ab einem bestimmten Punkt auf der Map kommt die Flamme der Fackel nicht mehr richtig hinterher. Sie braucht etwas, um wieder an der Fackel korrekt kleben zu bleiben. Komischerweise passiert das aber nur an bestimmten Punkten auf der Map. Im Video könnt ihr auch erkennen, dass die Flamme dann korrekt funktioniert, wenn ich mit der Figur wieder nach rechts laufe. Ich habe mal ein Video erstellt, um euch zu verdeutlichen, was genau ich damit meine:




    Zur direkten Veranschaulichung des Events hab ich mal ein Screenshot gemacht. Das wäre das Common Event für die Fackel. Ihr seht hier jetzt nur eine Laufrichtung, die anderen drei Richtungen hängen noch unten dran, sind aber exakt gleich zur "Laufrichtung unten". Ich musste leider ein bisschen was von den Pictures- und Wait-Befehlen rausnehmen, weil es sonst nicht komplett auf ein Screenshot gepasst hätte.



    Folgende Lösungen für dieses Problem hab ich schon versucht, die jedoch nichts brachten bzw keine korrekten Ergebnisse erzielten:

    • weniger Pictures der Flamme im Common Event angezeigt
    • die Maße der Flammen-Pictures um das Doppelte und das Dreifache erhöht (letzteres hatte kurze Laggs zufolge)
    • das Flammen-Picture um ein Minimum verkleinert
    • das CE nicht durch einen Switch parallel aktiviert, sondern stattdessen direkt im Ereignisevent auf der Map als direkten Befehl aktiviert

    Da mir so langsam die Ideen ausgehen, hoffe ich, dass mir da jemand von euch weiterhelfen kann. Gibt es denn dafür überhaupt eine Lösung? Oder hab ich vllt doch eher den Zenit des Maker erreicht? Wenn ihr evtl. noch andere Tipps oder Lösungen zu diesem Event bzw zu diesem Problem habt, wäre ich euch unendlich dankbar dafür, wenn ihr mir helfen könnt. Falls euch noch was unklar sein sollte oder ihr noch Fragen zu irgendetwas habt, dann ruhig raus damit. Ich danke euch auf jeden Fall schonmal für eure Zeit :)


    LG, Stitch

  • Hmm, spannende Sache :/

    Hast du eventuell zu viele Events in der Richtung, wo die Flamme anfängt, nicht mehr hinterherzukommen? Könnte dann einfach bedeuten, es ist zu viel, was gleichzeitig abläuft.

    Ist aber nur ne vage Vermutung von mir, bin ja noch lange nicht so versiert mit dem Maker wie andere hier :)

    Ich nutze bei meinem Spiel einen kleinen Skript-Befehl, der wartet, bis alle Bilder geladen sind. Keine Ahnung, ob dir das auch weiterhilft.

    Code
    1. this.setWaitMode('image');


    PS: Ach, ich seh grad, du nutzt Ace. Weiß leider nicht, wie der Befehl dann heißen müsste.

  • Jo das funktioniert so nicht weil du 1frame wartest und wenn sich die blinkrichtung ändert wird die animation noch auf der gleichen position abgespielt bis sie einmal durch ist.


    Versuche die animation durch eine kampf animation zu ersetzten.

    Dazu den haken bei warten bis fertig wegmacht und dafür danach wait 1frame weniger als die kampfanimation. (Zumindest bei mv so beim vx bin ich mir ned sicher)


    oder direkt in den character rein zu kopieren :)


    Edit: wäre auch gut das die fackel so sitzt das sie in jeder blickrichtung auf der gleichen position ist falls möglich

    image.png image.png Qgaw4p.pngZRML1R.png

    image.png

    Paracreat Fertigstellung: 86% "Der freundliche Spielentwickler aus der Nachbarschaft"

  • Danke euch beiden für eure Lösungsvorschläge. Am Ende blieb mir doch nichts anderes übrig, als das Ganze über Animationen zu regeln. PlanetTzero spricht es sogar direkt an. Also dieser Weg wurde von einem befreundeten Entwicklerkollegen zuvor selbst nochmal getestet und er hatte eine korrekte Lösung für dieses Problem entwickelt. In Verbindung mit einem Script konnte zudem die kurze Pause der Animation umgangen werden, wenn sie beim letzten Frame endet. Das war übrigens der Grund, warum ich die Flamme nicht direkt als Kampfanimation anzeigen wollte. Nun ist aber alles gelöst. Ich bedanke mich nochmal bei euch. Das Thema kann also geschlossen werden.