Tiles animieren

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

  • Tiles animieren

    Ich weiss nicht ob das Thema schon mal war. Ich habe jetzt per Boardsuche leider nichts dazu gefunden.

    Gibt es eine Möglichkeit Backgrounds oder einzelne Tiles zu animieren ?
    Bei kleineren Grafiken löst man sowas normalerweise mit Objekten. Da ich aber einen Feuerplaneten umsetzen möchte, bei dem logischerweise die ganze zeit das Feuer lodert, dürfte es resourcentechnisch sehr hart werden wenn ich den kompletten Level aus Objekten zusammensetzen.

    (so in etwas > Salamander Videolink )

    Bitte nichts in Scriptform anbieten weil ich das ohnehin nicht umsetzen könnte, aber eine theoretische Lösung des Problemes müsste schon reichen. Den Rest versuche ich mir selber zusammenzupuzzlen.
  • Praktisch wie ein ganz normaler Hintergrund bzw. eine Planetenoberfläche. Nur das die halt am brennen ist.
    Ich denke mal die Hintergründe ein und ausschalten kann ich mit den StepEvents oder mit den Alarmevents realisieren, oder ? Mein Rechner ist relativ schnell und ich will nicht wieder den Fehler machen das langsamere Rechner Probleme haben das Spiel laufen zu lassen.
  • Ja, das mit dem Hintergrundwechseln könnte für Probleme sorgen!!
    Warum machst du es nicht so:

    Erstelle eine Animation mit einem brennenden Teil des Planeten (ungefähr ein 500stell so groß wie der gesamte Planet). Diesem Sprite weist du dann ein Objekt zu, das du im Raum ganz oft nebeneinander platzierst. Für die Ränder musst du dir extra Sprites machen, oder die brennen nicht, also machst du es per Tileset. Wenn du die Animation gut machst, merkt man nicht das es immer die selbe ist :D


  • Wenn es sich um einen brennenden Planeten handeln soll, könntest du auch im Blend Mode arbeiten. Das hat den Vorteil, dass du es perfekt abstimmen kannst und es keine Regelmäßigkeit geben muss. Deine Partikelobjekte brauchst du dann nur erzeugen, wenn sie in Sichtnähe sind. Das ist garantiert schneller, als unendlich viele animierte Riesenobjekte aneinanderzureihen, wobei ich dir da auch empfehlen würde, sie bei hoher Distanz nicht zu zeichnen.

    Ich hab mal ein Tutorial für einen Plasmaeffekt geschrieben, vielleicht hilft dir das ja:

    Tutorial
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Die Idee hatte ich auch erst, aber bremst das bei längeren Räumen nicht den Rechner ungeimlich stark aus ? Das Problem hatte ich damals bei Gunner Runner. Gut, da war ich so clever das ganze Levelgerüst aus Objekten zu basteln :no: aber selbst das Feuer dürfte doch derbe in die Leistung hauen. Oder werden die Objekte anders berechnet wenn sich die Landschaft aus immer denselben zusammensetzt ?

    Nachtrag, die Antworten haben sich überschnitten:
    @Mauge:

    Danke :) aber ich versuche die Grafik soweit ohne Partikel oder Blenden auskommen zu lassen, da ich die ganzen Stil in komplett handgezeichneten Animationen halten will ohne Effekte einzusetzen.

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

  • Also im Grunde kannst du große animierte Objekte nutzen. Du könntest im Step Event folgenden Code einfügen. Das dürfte die Performance verbessern:

    GML-Quellcode

    1. if(distance_to_object(obj_player) > x) {visible =false;}


    "obj_player" ist dein Spielerobjekt
    "x" ist die Distanz, die du so wählen solltest, dass sie außerhalb des Views liegt.

    Und natürlich musst du "visible" wieder auf true setzen, wenn die Distanz kleiner ist, als "x".
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Original von mauge
    Also im Grunde kannst du große animierte Objekte nutzen. Du könntest im Step Event folgenden Code einfügen. Das dürfte die Performance verbessern:

    GML-Quellcode

    1. if(distance_to_object(obj_player) > x) {visible =false;}


    "obj_player" ist dein Spielerobjekt
    "x" ist die Distanz, die du so wählen solltest, dass sie außerhalb des Views liegt.

    Und natürlich musst du "visible" wieder auf true setzen, wenn die Distanz kleiner ist, als "x".


    Danke :happy: Ich muss zwar mit den Scripten immer etwas kämpfen aber das hilft auf alle Fälle weiter. :)
  • Hey Monty.
    Bin grade zufällig auf diesen Thread gestoßen. Und tut mir leid, dass ich noch antworte, obwohl das Problem gelöst ist, aber ich habe mir mal das Video angeguckt und muss sagen, dass es doch reicht ein object oben und eins unten hinzumachen und den view garnicht zu bewegen. Wie bei 1945 oder so.. da bewegt sich ja auch nur der Hintergrund. Somit hast du dann nur zwei 640*128 pixel große animierte Bilder.. oder liege ich da falsch?
  • Sorry falls schon gelöst ist, aber was du auch machen könntest, ist ein Sprite zu erstellen das so lang ist wie dein ganzes Level...
    Als Animation (Glaub das geht mit Sprites :D)

    Nun nimmst de' die als Background und lässt die Kamera halt nur auf das Raumschiff schauen...

    Dass ist zwar nicht ganz so Professionell, aber müsste auch gehen!
    Was wollte ich noch gleich sagen???


    Wenn's jemand weiß, bitte sagen...

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

  • Sorry falls schon gelöst ist, aber was du auch machen könntest, ist ein Sprite zu erstellen das so lang ist wie dein ganzes Level...
    Als Animation (Glaub das geht mit Sprites großes Grinsen )

    Nun nimmst de' die als Background und lässt die Kamera halt nur auf das Raumschiff schauen...

    Dass ist zwar nicht ganz so Professionell, aber müsste auch gehen!


    :?: :?:

    Was soll das denn? Umständlicer gehts ja gar nicht!!
    Und natürlich kann man mit Sprites Animationen machen!

    Aber: Das ist gelöst, Leute!