Frames & Tags

Die Zeitleiste: Frames, ihre Dauer und Animations-Tags. (25 Funktionen)

app.addFrame(frameId?, durationMs?, before?) — ändert, rückgängig machbar

Fügt einen neuen leeren Frame hinzu („Neuer leerer Frame“ im Menü Frame), nach frameId oder mit before davor. Der neue Frame wird zum aktiven.

  • frameId (string, optional) — Der Frame, neben dem eingefügt wird. Weglassen (oder nil übergeben), um am Ende anzuhängen.
  • durationMs (number, optional) — Standard ist die Standard-Frame-Dauer des Sprites.
  • before (boolean, optional) — True fügt den neuen Frame vor frameId statt danach ein – die einzige Möglichkeit, einen Frame vor dem ersten hinzuzufügen. Braucht eine frameId.

Gibt zurück (string): Die ID des neuen Frames.

app.addTag(fromFrameId, toFrameId, name?, color?, direction?) — ändert, rückgängig machbar

Erstellt einen neuen Tag, der [fromFrameId, toFrameId] umfasst.

  • fromFrameId (string)
  • toFrameId (string)
  • name (string, optional) — Standard ist "Tag N".
  • color (string, optional) — Hex-Farbe.
  • direction (TagDirection: "forward" | "reverse" | "pingpong" | "pingpongReverse", optional) — Wiedergaberichtung; Standard ist vorwärts.

Gibt zurück (string): Die ID des neuen Tags.

app.bakeTween(layerId, frameId) — ändert, rückgängig machbar, wird auf einer gesperrten Ebene abgelehnt

Entfernt den Tween, der bei frameId beginnt, behält aber jedes Zwischenbild als gewöhnliches Cel, sodass sie nicht mehr neu gezeichnet werden. Ein Rückgängig-Schritt.

  • layerId (string) — Eine Bildebene (nicht die Hintergrundebene).
  • frameId (string) — Der Frame des Start-Keyframes: Das eigene Cel der Ebene dort (kein verknüpftes) wird getweent.

Gibt nichts zurück.

app.duplicateFrame(frameId, linked?) — ändert, rückgängig machbar

Dupliziert einen Frame (und seine Cels) direkt danach und macht die Kopie aktiv („Neuer Frame“ im Menü Frame).

  • frameId (string)
  • linked (boolean, optional) — True verknüpft jedes kopierte Cel mit dem des Originals (geteilte Bilder), false kopiert jedes; weggelassen werden durchgehende Ebenen verknüpft und die anderen kopiert.

Gibt zurück (string): Die Frame-ID der Kopie.

app.getActiveFrameId() — liest

Die ID des aktuell aktiven Frames oder nil, wenn keiner aktiv ist.

Gibt zurück (string): Frame-ID oder nil.

app.getFrame(frameId) — liest

Ein Frame als { id, index, durationMs } oder nil, wenn es keinen solchen Frame gibt.

  • frameId (string)

Gibt zurück (table): Frame-Tabelle oder nil.

app.getFrames() — liest

Jeder Frame in Reihenfolge der Zeitleiste als { id, index (0 = erster), durationMs }.

Gibt zurück (table): Array von Frame-Tabellen.

app.getTags() — liest

Jeder Animations-Tag als { id, name, fromFrameId, toFrameId, fromIndex, toIndex (einschließlich Frame-Indizes), color (hex), direction ("forward" | "reverse" | "pingpong" | "pingpongReverse"), repeat (wie oft abgespielt, bevor es weitergeht; fehlt = Endlosschleife) }.

Gibt zurück (table): Array von Tag-Tabellen.

app.moveFrame(frameId, toIndex) — ändert, rückgängig machbar

Verschiebt einen Frame an eine neue Position in der Zeitleiste.

  • frameId (string)
  • toIndex (number) — Zielposition in der endgültigen Reihenfolge, auf den gültigen Bereich begrenzt.

Gibt nichts zurück.

app.regenerateTween(layerId, frameId, revertFrameIds?) — ändert, rückgängig machbar, wird auf einer gesperrten Ebene abgelehnt

Zeichnet die Zwischenbilder des Tweens, der bei frameId beginnt, aus seinem Start-Cel neu. Von Hand bearbeitete Frames werden übersprungen, außer sie stehen in revertFrameIds. Ein Tween, dessen End-Frame fehlt, kann nicht neu gezeichnet werden. Ein Rückgängig-Schritt; gibt es nichts zu ändern, entsteht keiner.

  • layerId (string) — Eine Bildebene (nicht die Hintergrundebene).
  • frameId (string) — Der Frame des Start-Keyframes: Das eigene Cel der Ebene dort (kein verknüpftes) wird getweent.
  • revertFrameIds (table, optional) — Eine Liste von IDs von Zwischenbild-Frames, deren von Hand bearbeitete Cels ebenfalls neu gezeichnet werden.

Gibt nichts zurück.

app.removeFrame(frameId) — ändert, rückgängig machbar

Entfernt einen Frame und alle Cels, Tile-Platzierungen und Referenzplatzierungen darauf. Wirft einen Fehler, wenn es der letzte verbleibende Frame ist.

  • frameId (string)

Gibt nichts zurück.

app.removeTag(tagId) — ändert, rückgängig machbar

Entfernt einen Tag (die Frames, die er umfasste, bleiben unberührt).

  • tagId (string)

Gibt nichts zurück.

app.removeTween(layerId, frameId) — ändert, rückgängig machbar, wird auf einer gesperrten Ebene abgelehnt

Entfernt den Tween, der bei frameId beginnt, und löscht seine erzeugten Zwischenbilder (von Hand bearbeitete Frames bleiben als gewöhnliche Cels). Ein Rückgängig-Schritt.

  • layerId (string) — Eine Bildebene (nicht die Hintergrundebene).
  • frameId (string) — Der Frame des Start-Keyframes: Das eigene Cel der Ebene dort (kein verknüpftes) wird getweent.

Gibt nichts zurück.

app.reverseFrames(fromFrameId?, toFrameId?) — ändert, rückgängig machbar

Kehrt die Reihenfolge der Frames in einem Bereich um (alle Frames, wenn weggelassen), als ein Rückgängig-Schritt. Cels, Verknüpfungen, Tilemap-Platzierungen und Referenztransformationen wandern mit ihren Frames; Tags decken weiterhin dieselben Positionen ab.

  • fromFrameId (string, optional) — Erster Frame des Bereichs; weglassen (zusammen mit toFrameId), um jeden Frame umzukehren.
  • toFrameId (string, optional) — Letzter Frame des Bereichs (einschließlich).

Gibt nichts zurück.

app.setActiveFrame(frameId) — ändert

Macht einen Frame zum aktiven (was ein Klick darauf in der Zeitleiste tut). Keine rückgängig zu machende Bearbeitung.

  • frameId (string)

Gibt nichts zurück.

app.setAllFrameDurations(durationMs) — ändert, rückgängig machbar

Setzt jeden Frame des Sprites auf dieselbe Wiedergabedauer.

  • durationMs (number)

Gibt nichts zurück.

app.setFrameDuration(frameId, durationMs) — ändert, rückgängig machbar

Setzt die Wiedergabedauer eines Frames.

  • frameId (string)
  • durationMs (number) — Ganze Millisekunden, 1-65535.

Gibt nichts zurück.

app.setFrameProps(frameId, props) — ändert, rückgängig machbar

Setzt die Farbmarkierung und/oder die Sperre eines Frames.

  • frameId (string)
  • props (table) — Weggelassene Schlüssel bleiben unverändert.
    • color (string) — Die Markierung des Frames in der Zeitleiste als "#rrggbb"; ein leerer String entfernt sie.
    • locked (boolean) — Die Cels eines gesperrten Frames können durch nichts bearbeitet werden, auch nicht durch Skripte, und der Frame kann nicht entfernt, verschoben oder neu getaktet werden.

Gibt nichts zurück.

app.setTagProps(tagId, props) — ändert, rückgängig machbar

Aktualisiert eine oder mehrere Eigenschaften eines Tags.

  • tagId (string)
  • props (table) — Weggelassene Schlüssel bleiben unverändert.
    • name (string) — Der Name des Tags.
    • color (string) — Die Farbe des Tags als "#rrggbb".
    • direction (TagDirection: "forward" | "reverse" | "pingpong" | "pingpongReverse") — Wiedergaberichtung.
    • fromFrameId (string) — Der erste Frame der Spanne.
    • toFrameId (string) — Der letzte Frame der Spanne.
    • repeat (integer ≥ 0) — Wie oft die Wiedergabe den Tag abspielt, bevor es weitergeht (das Wiederholen des Tags bei Aseprite); 0 läuft endlos.

Gibt nichts zurück.

app.setTween(layerId, frameId, opts?) — ändert, rückgängig machbar, wird auf einer gesperrten Ebene abgelehnt

Tweent das Cel einer Ebene bei frameId zu einem späteren Frame: Die Frames dazwischen bekommen echte Cels (das Bild des Start-Cels, von den Optionen verschoben, skaliert, gedreht, geschert und ausgeblendet, mit dem gewählten Easing), die mit dem Rezept verknüpft bleiben und daher neu gezeichnet werden, wenn sich das Start-Cel ändert. Ersetzt einen Tween, der dort schon beginnt. Ein Rückgängig-Schritt. Frames, auf die du gezeichnet hast, bleiben, wie sie sind. Gibt die ID des Tweens zurück.

  • layerId (string) — Eine Bildebene (nicht die Hintergrundebene).
  • frameId (string) — Der Frame des Start-Keyframes: Das eigene Cel der Ebene dort (kein verknüpftes) wird getweent.
  • opts (table, optional)
    • to (string) — Erforderlich. Die ID des Frames des End-Keyframes: ein späterer Frame auf derselben Ebene. Die Zwischenbilder sind die Frames streng dazwischen; der End-Frame behält deine eigene Zeichnung.
    • from ({ dx, dy, scaleX, scaleY, rotation, skewX, skewY, opacity }, each optional (missing = no change: 0, 1, 0, 0, 1); Standard no change) — Die Pose beim Start-Keyframe (meist unverändert).
    • end ({ dx, dy, scaleX, scaleY, rotation, skewX, skewY, opacity }, each optional (missing = no change: 0, 1, 0, 0, 1); Standard no change) — Die Pose, die beim End-Keyframe erreicht wird: Verschiebung in Sprite-Pixeln, Skalierung (1 = gleich), Drehung und Scherung in Grad, Deckkraft-Multiplikator 0..1.
    • ease (TweenEaseFamily: "linear" | "hold" | "sine" | "quad" | "cubic" | "quart" | "quint" | "expo" | "circ" | "back" | "elastic" | "bounce"; Standard "quad") — Die Easing-Kurve für jede Spur. Wird ignoriert, wenn steps angegeben ist.
    • mode (TweenEaseMode: "in" | "out" | "inOut"; Standard "inOut") — Welches Ende des Tweens ease formt (von linear und hold ignoriert).
    • overshoot (number 0–10) — Easing back: wie weit es ausholt oder überschießt (Standard 1.70158). Nur mit ease = "back".
    • amplitude (number 1–10) — Easing elastic: Größe des Ausschlags (Standard 1). Nur mit ease = "elastic".
    • period (number 0.01–1) — Easing elastic: Länge des Wackelns als Bruchteil der Spanne (Standard 0.3). Nur mit ease = "elastic".
    • bounces (integer 1–8) — Easing bounce: Anzahl der Aufprälle (Standard 4). Nur mit ease = "bounce".
    • steps (integer 1–64) — Quantisiert den Fortschritt in so viele gleiche Sprünge (ein gestufter, gehaltener Look) statt einer glatten Kurve.
    • curve (a list of 2-32 anchors { x, y, inX?, inY?, outX?, outY?, corner? }; the first is x = 0, y = 0 and the last x = 1, y = 1, and x rises along the list) — Eine gezeichnete Easing-Kurve durch diese Ankerpunkte (kubische Béziers; inX/inY und outX/outY sind die Anfasser als Versatz vom Ankerpunkt, standardmäßig 0). Ersetzt ease und steps.
    • trackEasing ({ position?, scale?, rotation?, skew?, opacity?, color? }, each an easing table with the same keys as the easing options (ease, mode, overshoot, amplitude, period, bounces, steps, curve)) — Easing für einzelne Spuren, das den Standard nur für diese Spuren überschreibt.
    • color ({ hue?, saturation?, lightness?, tint? }: hue in degrees (-360..360), saturation and lightness -100..100, tint 0..1) — Farbanpassungen, die bei der End-Pose erreicht werden, angewendet auf das Startbild (HSL Farbton/Sättigung, dann die Tönung). Weggelassene Felder bleiben neutral (0). Das Easing der Spur color formt sie.
    • colorFrom (the same fields as color; Standard all neutral) — Die Farbanpassungen beim Start-Keyframe (meist unverändert).
    • tintColor (color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); Standard "#ffffff") — Die Farbe, zu der der Farbstich hin mischt (ihr Alpha wird ignoriert).
    • ramp ({ first, last, shift, wrap? }: palette indices first..last (0-255), shift in whole places (-255..255), wrap true by default) — Nur indizierte Sprites: Pixel, deren Palettenindex in first..last liegt (der transparente Index ausgenommen), wandern über die Spanne um shift Stellen an diesem Palettenabschnitt entlang, wobei sie mit wrap über die Enden hinaus umlaufen und sonst dort anhalten. Wird bei anderen Farbmodi ignoriert. Das Easing der Spur color formt sie.
    • path (TweenPath: "straight" | "arc" | "wave" | "zigzag" | "shake" | "custom"; Standard "straight") — Die Route, die die Position zwischen den Posen nimmt, als Versatz quer zur Geraden.
    • points (a list of 2-64 anchors { x, y, inX?, inY?, outX?, outY?, corner? } in sprite pixels relative to the start cel's position; inX/inY and outX/outY are the handles as offsets from the anchor (0 by default)) — Pfad custom: die gezeichnete Route, eine kubische Bézier-Kurve durch die Ankerpunkte, mit gleichmäßigem Tempo durchlaufen. Pflicht bei path = "custom". Der erste Ankerpunkt ist die Position from, der letzte die Position end: Lassen from oder end dx/dy weg, werden sie von dort übernommen, und angegebene müssen übereinstimmen.
    • orient (boolean; Standard false) — Dreht das Bild in die Bewegungsrichtung entlang des Pfads (zur Drehung addiert; am Start keine Drehung). Nutzt resample (RotSprite ist eine gute Wahl).
    • height (number) — Pfad arc: die Höhe des Bogens in Pixeln. Standard 8.
    • pathAmplitude (number) — Pfade wave, zigzag und shake: der Versatz in Pixeln. Standard 4.
    • cycles (number 0–64) — Pfade wave und zigzag: wie viele volle Wellen lang. Standard 1.
    • phase (number -1–1) — Pfad wave: wo in der Welle er beginnt, in Umdrehungen. Standard 0.
    • seed (integer ≥ 0) — Pfad shake: der Zufalls-Seed; ein Seed wackelt immer gleich. Standard 1.
    • fade (TweenFade: "alpha" | "dither"; Standard "alpha") — Wie sich die Deckkraft-Spur zeigt: teilweise Deckkraft oder ein Auflösen ganzer Pixel per Dithering.
    • ditherPattern (TweenDither: "bayer2" | "bayer4" | "bayer8" | "cluster"; Standard "bayer4") — Das Muster, durch das sich eine Dithering-Überblendung auflöst, an der Leinwand fest, damit es nicht mitwandert, wenn sich das Bild bewegt. Es anzugeben bedeutet fade = "dither".
    • crossfade (boolean; Standard false) — Blendet vom Startbild in die eigene Zeichnung des End-Keyframes über (nach dem Easing der Deckkraft-Spur), per Dithering oder gemischt je nach fade. Die Zeichnung des End-Keyframes wird damit zur Eingabe: Sie zu bearbeiten zeichnet den Tween neu.
    • delay (integer 0–4096; Standard 0) — Frames, in denen die Startpose gehalten wird, bevor es losgeht; danach füllt die Bewegung den Rest der Spanne.
    • trackDelay ({ position?, scale?, rotation?, skew?, opacity?, color? }, each a whole number of frames (0-4096)) — Verzögerungen für einzelne Spuren, die delay nur für diese Spuren ersetzen.
    • preset (a preset recipe, as app.tweenPreset returns: { from, end, easing, path, squash, pivotX, pivotY, exposure, shortestRotation, pingPong, trackEasing?, color?, orient?, fade?, delay?, trackDelay? } with distances relative to the start cel's size) — Baut den Tween aus einem Preset, auf den Start-Cel skaliert (Abstände sind Anteile seiner Größe, Verzögerungen Anteile der Spanne). Daneben dürfen nur to, resample, subpixel, timing, autoRegenerate, fade, ditherPattern, crossfade, delay und orient angegeben werden; sie überschreiben die des Presets.
    • squash (number 0–1; Standard 0) — Geschwindigkeitsbasiertes Squash und Stretch, volumenerhaltend.
    • pivotX (number; Standard 0.5) — Fixpunkt von Skalierung, Drehung und Scherung, als Bruchteil der Breite des Start-Cels (0.5 = Mitte).
    • pivotY (number; Standard 0.5) — Dasselbe, als Bruchteil der Höhe des Start-Cels.
    • pivotSpace (TweenPivotSpace: "cel" | "sprite"; Standard "cel") — Worin pivotX und pivotY angegeben sind. "sprite" macht sie zu einem Punkt in Sprite-Pixeln, gleich für jede damit getweente Ebene.
    • resample (TransformInterpolation: "nearest" | "rotsprite" | "bilinear"; Standard "nearest") — Wie die Pixel neu gesampelt werden, wenn sich Skalierung, Drehung oder Scherung ändern. Reine Verschiebung kopiert Pixel immer exakt.
    • subpixel (TweenSubpixel: "round" | "floor" | "monotonic"; Standard "round") — Wie Bruchteil-Positionen auf ganze Pixel fallen.
    • timing (TweenTiming: "frames" | "time"; Standard "frames") — Was als Fortschritt zählt.
    • exposure (integer 1–8; Standard 1) — Zeichnet jede N-te Pose und hält sie („auf Zweien“ = 2).
    • shortestRotation (boolean; Standard true) — Dreht auf dem kurzen Weg (die Änderung auf -180..180 umgebrochen) statt um die exakte Gradzahl.
    • pingPong (boolean; Standard false) — Hin und zurück: Die Bewegung erreicht die End-Pose in der Mitte der Spanne und kehrt beim End-Keyframe zur Start-Pose zurück, sodass eine Schleife, die dort endet, wo sie begann, keine zweite Zeichnung braucht. Das Easing formt jede Hälfte.
    • autoRegenerate (boolean; Standard true) — Zeichnet die Zwischenbilder von selbst neu, wenn sich der Start-Keyframe oder die Frames ändern.

Gibt zurück (string): Die ID des Tweens.

app.setTweenChain(layerId, frameIds, opts?) — ändert, rückgängig machbar, wird auf einer gesperrten Ebene abgelehnt

Tweent durch mehrere Keyframes einer Ebene in einem Schritt: ein Tween von jedem Keyframe zum nächsten, alle mit denselben Optionen (dasselbe wie app.setTween ohne to). Tweens, die schon bei diesen Frames beginnen, werden ersetzt; andere auf der Ebene dürfen sich nicht überlappen. Ein Rückgängig-Schritt. Gibt die IDs der Tweens zurück, der Reihe nach.

  • layerId (string) — Eine Bildebene (nicht die Hintergrundebene).
  • frameIds (table) — Die Keyframes der Kette als Liste von Frame-IDs, der früheste zuerst (2 oder mehr). Ein Tween läuft von jedem zum nächsten, Nachbarn teilen sich also einen Keyframe; jeder außer dem letzten braucht ein eigenes Cel.
  • opts (table, optional)
    • from ({ dx, dy, scaleX, scaleY, rotation, skewX, skewY, opacity }, each optional (missing = no change: 0, 1, 0, 0, 1); Standard no change) — Die Pose beim Start-Keyframe (meist unverändert).
    • end ({ dx, dy, scaleX, scaleY, rotation, skewX, skewY, opacity }, each optional (missing = no change: 0, 1, 0, 0, 1); Standard no change) — Die Pose, die beim End-Keyframe erreicht wird: Verschiebung in Sprite-Pixeln, Skalierung (1 = gleich), Drehung und Scherung in Grad, Deckkraft-Multiplikator 0..1.
    • ease (TweenEaseFamily: "linear" | "hold" | "sine" | "quad" | "cubic" | "quart" | "quint" | "expo" | "circ" | "back" | "elastic" | "bounce"; Standard "quad") — Die Easing-Kurve für jede Spur. Wird ignoriert, wenn steps angegeben ist.
    • mode (TweenEaseMode: "in" | "out" | "inOut"; Standard "inOut") — Welches Ende des Tweens ease formt (von linear und hold ignoriert).
    • overshoot (number 0–10) — Easing back: wie weit es ausholt oder überschießt (Standard 1.70158). Nur mit ease = "back".
    • amplitude (number 1–10) — Easing elastic: Größe des Ausschlags (Standard 1). Nur mit ease = "elastic".
    • period (number 0.01–1) — Easing elastic: Länge des Wackelns als Bruchteil der Spanne (Standard 0.3). Nur mit ease = "elastic".
    • bounces (integer 1–8) — Easing bounce: Anzahl der Aufprälle (Standard 4). Nur mit ease = "bounce".
    • steps (integer 1–64) — Quantisiert den Fortschritt in so viele gleiche Sprünge (ein gestufter, gehaltener Look) statt einer glatten Kurve.
    • curve (a list of 2-32 anchors { x, y, inX?, inY?, outX?, outY?, corner? }; the first is x = 0, y = 0 and the last x = 1, y = 1, and x rises along the list) — Eine gezeichnete Easing-Kurve durch diese Ankerpunkte (kubische Béziers; inX/inY und outX/outY sind die Anfasser als Versatz vom Ankerpunkt, standardmäßig 0). Ersetzt ease und steps.
    • trackEasing ({ position?, scale?, rotation?, skew?, opacity?, color? }, each an easing table with the same keys as the easing options (ease, mode, overshoot, amplitude, period, bounces, steps, curve)) — Easing für einzelne Spuren, das den Standard nur für diese Spuren überschreibt.
    • ends (a list of end pose tables, one per segment (same fields as end)) — Nur für app.setTweenChain: eine andere End-Pose für jedes Segment, der Reihe nach; jede ersetzt end für ihr Segment.
    • color ({ hue?, saturation?, lightness?, tint? }: hue in degrees (-360..360), saturation and lightness -100..100, tint 0..1) — Farbanpassungen, die bei der End-Pose erreicht werden, angewendet auf das Startbild (HSL Farbton/Sättigung, dann die Tönung). Weggelassene Felder bleiben neutral (0). Das Easing der Spur color formt sie.
    • colorFrom (the same fields as color; Standard all neutral) — Die Farbanpassungen beim Start-Keyframe (meist unverändert).
    • tintColor (color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); Standard "#ffffff") — Die Farbe, zu der der Farbstich hin mischt (ihr Alpha wird ignoriert).
    • ramp ({ first, last, shift, wrap? }: palette indices first..last (0-255), shift in whole places (-255..255), wrap true by default) — Nur indizierte Sprites: Pixel, deren Palettenindex in first..last liegt (der transparente Index ausgenommen), wandern über die Spanne um shift Stellen an diesem Palettenabschnitt entlang, wobei sie mit wrap über die Enden hinaus umlaufen und sonst dort anhalten. Wird bei anderen Farbmodi ignoriert. Das Easing der Spur color formt sie.
    • path (TweenPath: "straight" | "arc" | "wave" | "zigzag" | "shake" | "custom"; Standard "straight") — Die Route, die die Position zwischen den Posen nimmt, als Versatz quer zur Geraden.
    • points (a list of 2-64 anchors { x, y, inX?, inY?, outX?, outY?, corner? } in sprite pixels relative to the start cel's position; inX/inY and outX/outY are the handles as offsets from the anchor (0 by default)) — Pfad custom: die gezeichnete Route, eine kubische Bézier-Kurve durch die Ankerpunkte, mit gleichmäßigem Tempo durchlaufen. Pflicht bei path = "custom". Der erste Ankerpunkt ist die Position from, der letzte die Position end: Lassen from oder end dx/dy weg, werden sie von dort übernommen, und angegebene müssen übereinstimmen.
    • orient (boolean; Standard false) — Dreht das Bild in die Bewegungsrichtung entlang des Pfads (zur Drehung addiert; am Start keine Drehung). Nutzt resample (RotSprite ist eine gute Wahl).
    • height (number) — Pfad arc: die Höhe des Bogens in Pixeln. Standard 8.
    • pathAmplitude (number) — Pfade wave, zigzag und shake: der Versatz in Pixeln. Standard 4.
    • cycles (number 0–64) — Pfade wave und zigzag: wie viele volle Wellen lang. Standard 1.
    • phase (number -1–1) — Pfad wave: wo in der Welle er beginnt, in Umdrehungen. Standard 0.
    • seed (integer ≥ 0) — Pfad shake: der Zufalls-Seed; ein Seed wackelt immer gleich. Standard 1.
    • fade (TweenFade: "alpha" | "dither"; Standard "alpha") — Wie sich die Deckkraft-Spur zeigt: teilweise Deckkraft oder ein Auflösen ganzer Pixel per Dithering.
    • ditherPattern (TweenDither: "bayer2" | "bayer4" | "bayer8" | "cluster"; Standard "bayer4") — Das Muster, durch das sich eine Dithering-Überblendung auflöst, an der Leinwand fest, damit es nicht mitwandert, wenn sich das Bild bewegt. Es anzugeben bedeutet fade = "dither".
    • crossfade (boolean; Standard false) — Blendet vom Startbild in die eigene Zeichnung des End-Keyframes über (nach dem Easing der Deckkraft-Spur), per Dithering oder gemischt je nach fade. Die Zeichnung des End-Keyframes wird damit zur Eingabe: Sie zu bearbeiten zeichnet den Tween neu.
    • delay (integer 0–4096; Standard 0) — Frames, in denen die Startpose gehalten wird, bevor es losgeht; danach füllt die Bewegung den Rest der Spanne.
    • trackDelay ({ position?, scale?, rotation?, skew?, opacity?, color? }, each a whole number of frames (0-4096)) — Verzögerungen für einzelne Spuren, die delay nur für diese Spuren ersetzen.
    • squash (number 0–1; Standard 0) — Geschwindigkeitsbasiertes Squash und Stretch, volumenerhaltend.
    • pivotX (number; Standard 0.5) — Fixpunkt von Skalierung, Drehung und Scherung, als Bruchteil der Breite des Start-Cels (0.5 = Mitte).
    • pivotY (number; Standard 0.5) — Dasselbe, als Bruchteil der Höhe des Start-Cels.
    • pivotSpace (TweenPivotSpace: "cel" | "sprite"; Standard "cel") — Worin pivotX und pivotY angegeben sind. "sprite" macht sie zu einem Punkt in Sprite-Pixeln, gleich für jede damit getweente Ebene.
    • resample (TransformInterpolation: "nearest" | "rotsprite" | "bilinear"; Standard "nearest") — Wie die Pixel neu gesampelt werden, wenn sich Skalierung, Drehung oder Scherung ändern. Reine Verschiebung kopiert Pixel immer exakt.
    • subpixel (TweenSubpixel: "round" | "floor" | "monotonic"; Standard "round") — Wie Bruchteil-Positionen auf ganze Pixel fallen.
    • timing (TweenTiming: "frames" | "time"; Standard "frames") — Was als Fortschritt zählt.
    • exposure (integer 1–8; Standard 1) — Zeichnet jede N-te Pose und hält sie („auf Zweien“ = 2).
    • shortestRotation (boolean; Standard true) — Dreht auf dem kurzen Weg (die Änderung auf -180..180 umgebrochen) statt um die exakte Gradzahl.
    • pingPong (boolean; Standard false) — Hin und zurück: Die Bewegung erreicht die End-Pose in der Mitte der Spanne und kehrt beim End-Keyframe zur Start-Pose zurück, sodass eine Schleife, die dort endet, wo sie begann, keine zweite Zeichnung braucht. Das Easing formt jede Hälfte.
    • autoRegenerate (boolean; Standard true) — Zeichnet die Zwischenbilder von selbst neu, wenn sich der Start-Keyframe oder die Frames ändern.

Gibt zurück (table): Die IDs der Tweens, eines pro Segment, der Reihe nach.

app.setTweenEnd(layerId, frameId, toFrameId) — ändert, rückgängig machbar, wird auf einer gesperrten Ebene abgelehnt

Verschiebt das Ende des Tweens, der bei frameId beginnt, auf einen anderen Frame und zeichnet ihn neu. Zwischenbilder, die außerhalb des neuen Bereichs liegen, werden gelöscht (oder als gewöhnliche Cels behalten, wenn du sie bearbeitet hast); der End-Frame selbst wird nie angefasst. Schlägt fehl, wenn der neue Bereich einen anderen Tween auf der Ebene überlappen würde. Ein Rückgängig-Schritt.

  • layerId (string) — Eine Bildebene (nicht die Hintergrundebene).
  • frameId (string) — Der Frame des Start-Keyframes: Das eigene Cel der Ebene dort (kein verknüpftes) wird getweent.
  • toFrameId (string) — Der neue End-Keyframe: ein späterer Frame auf derselben Ebene.

Gibt nichts zurück.

app.setTweenStagger(layerIds, frameId, opts?) — ändert, rückgängig machbar, wird auf einer gesperrten Ebene abgelehnt

Tweent mehrere Ebenen mit einem Rezept (dieselben Optionen wie app.setTween, oder ein Preset, auf den Start-Cel jeder Ebene skaliert), wobei jede Ebene step Frames nach der vorigen startet. Mit groupPivot skalieren und drehen sich die Ebenen um einen gemeinsamen Punkt und bewegen sich als eine starre Gruppe. Tweens, die dort schon starten, werden ersetzt. Ein Rückgängig-Schritt. Gibt die IDs der Tweens in der Reihenfolge von layerIds zurück.

  • layerIds (table) — Die zu tweenenden Ebenen als Liste von IDs: Bildebenen (nicht der Hintergrund), jede mit eigenem Cel auf frameId. Mit order = "given" ist die Listenreihenfolge die Versatzreihenfolge.
  • frameId (string) — Der Frame des Start-Keyframes, für alle Ebenen gleich.
  • opts (table, optional)
    • to (string) — Erforderlich. Die ID des Frames des End-Keyframes: ein späterer Frame auf derselben Ebene. Die Zwischenbilder sind die Frames streng dazwischen; der End-Frame behält deine eigene Zeichnung.
    • from ({ dx, dy, scaleX, scaleY, rotation, skewX, skewY, opacity }, each optional (missing = no change: 0, 1, 0, 0, 1); Standard no change) — Die Pose beim Start-Keyframe (meist unverändert).
    • end ({ dx, dy, scaleX, scaleY, rotation, skewX, skewY, opacity }, each optional (missing = no change: 0, 1, 0, 0, 1); Standard no change) — Die Pose, die beim End-Keyframe erreicht wird: Verschiebung in Sprite-Pixeln, Skalierung (1 = gleich), Drehung und Scherung in Grad, Deckkraft-Multiplikator 0..1.
    • ease (TweenEaseFamily: "linear" | "hold" | "sine" | "quad" | "cubic" | "quart" | "quint" | "expo" | "circ" | "back" | "elastic" | "bounce"; Standard "quad") — Die Easing-Kurve für jede Spur. Wird ignoriert, wenn steps angegeben ist.
    • mode (TweenEaseMode: "in" | "out" | "inOut"; Standard "inOut") — Welches Ende des Tweens ease formt (von linear und hold ignoriert).
    • overshoot (number 0–10) — Easing back: wie weit es ausholt oder überschießt (Standard 1.70158). Nur mit ease = "back".
    • amplitude (number 1–10) — Easing elastic: Größe des Ausschlags (Standard 1). Nur mit ease = "elastic".
    • period (number 0.01–1) — Easing elastic: Länge des Wackelns als Bruchteil der Spanne (Standard 0.3). Nur mit ease = "elastic".
    • bounces (integer 1–8) — Easing bounce: Anzahl der Aufprälle (Standard 4). Nur mit ease = "bounce".
    • steps (integer 1–64) — Quantisiert den Fortschritt in so viele gleiche Sprünge (ein gestufter, gehaltener Look) statt einer glatten Kurve.
    • curve (a list of 2-32 anchors { x, y, inX?, inY?, outX?, outY?, corner? }; the first is x = 0, y = 0 and the last x = 1, y = 1, and x rises along the list) — Eine gezeichnete Easing-Kurve durch diese Ankerpunkte (kubische Béziers; inX/inY und outX/outY sind die Anfasser als Versatz vom Ankerpunkt, standardmäßig 0). Ersetzt ease und steps.
    • trackEasing ({ position?, scale?, rotation?, skew?, opacity?, color? }, each an easing table with the same keys as the easing options (ease, mode, overshoot, amplitude, period, bounces, steps, curve)) — Easing für einzelne Spuren, das den Standard nur für diese Spuren überschreibt.
    • color ({ hue?, saturation?, lightness?, tint? }: hue in degrees (-360..360), saturation and lightness -100..100, tint 0..1) — Farbanpassungen, die bei der End-Pose erreicht werden, angewendet auf das Startbild (HSL Farbton/Sättigung, dann die Tönung). Weggelassene Felder bleiben neutral (0). Das Easing der Spur color formt sie.
    • colorFrom (the same fields as color; Standard all neutral) — Die Farbanpassungen beim Start-Keyframe (meist unverändert).
    • tintColor (color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); Standard "#ffffff") — Die Farbe, zu der der Farbstich hin mischt (ihr Alpha wird ignoriert).
    • ramp ({ first, last, shift, wrap? }: palette indices first..last (0-255), shift in whole places (-255..255), wrap true by default) — Nur indizierte Sprites: Pixel, deren Palettenindex in first..last liegt (der transparente Index ausgenommen), wandern über die Spanne um shift Stellen an diesem Palettenabschnitt entlang, wobei sie mit wrap über die Enden hinaus umlaufen und sonst dort anhalten. Wird bei anderen Farbmodi ignoriert. Das Easing der Spur color formt sie.
    • path (TweenPath: "straight" | "arc" | "wave" | "zigzag" | "shake" | "custom"; Standard "straight") — Die Route, die die Position zwischen den Posen nimmt, als Versatz quer zur Geraden.
    • points (a list of 2-64 anchors { x, y, inX?, inY?, outX?, outY?, corner? } in sprite pixels relative to the start cel's position; inX/inY and outX/outY are the handles as offsets from the anchor (0 by default)) — Pfad custom: die gezeichnete Route, eine kubische Bézier-Kurve durch die Ankerpunkte, mit gleichmäßigem Tempo durchlaufen. Pflicht bei path = "custom". Der erste Ankerpunkt ist die Position from, der letzte die Position end: Lassen from oder end dx/dy weg, werden sie von dort übernommen, und angegebene müssen übereinstimmen.
    • orient (boolean; Standard false) — Dreht das Bild in die Bewegungsrichtung entlang des Pfads (zur Drehung addiert; am Start keine Drehung). Nutzt resample (RotSprite ist eine gute Wahl).
    • height (number) — Pfad arc: die Höhe des Bogens in Pixeln. Standard 8.
    • pathAmplitude (number) — Pfade wave, zigzag und shake: der Versatz in Pixeln. Standard 4.
    • cycles (number 0–64) — Pfade wave und zigzag: wie viele volle Wellen lang. Standard 1.
    • phase (number -1–1) — Pfad wave: wo in der Welle er beginnt, in Umdrehungen. Standard 0.
    • seed (integer ≥ 0) — Pfad shake: der Zufalls-Seed; ein Seed wackelt immer gleich. Standard 1.
    • fade (TweenFade: "alpha" | "dither"; Standard "alpha") — Wie sich die Deckkraft-Spur zeigt: teilweise Deckkraft oder ein Auflösen ganzer Pixel per Dithering.
    • ditherPattern (TweenDither: "bayer2" | "bayer4" | "bayer8" | "cluster"; Standard "bayer4") — Das Muster, durch das sich eine Dithering-Überblendung auflöst, an der Leinwand fest, damit es nicht mitwandert, wenn sich das Bild bewegt. Es anzugeben bedeutet fade = "dither".
    • crossfade (boolean; Standard false) — Blendet vom Startbild in die eigene Zeichnung des End-Keyframes über (nach dem Easing der Deckkraft-Spur), per Dithering oder gemischt je nach fade. Die Zeichnung des End-Keyframes wird damit zur Eingabe: Sie zu bearbeiten zeichnet den Tween neu.
    • delay (integer 0–4096; Standard 0) — Frames, in denen die Startpose gehalten wird, bevor es losgeht; danach füllt die Bewegung den Rest der Spanne.
    • trackDelay ({ position?, scale?, rotation?, skew?, opacity?, color? }, each a whole number of frames (0-4096)) — Verzögerungen für einzelne Spuren, die delay nur für diese Spuren ersetzen.
    • preset (a preset recipe, as app.tweenPreset returns: { from, end, easing, path, squash, pivotX, pivotY, exposure, shortestRotation, pingPong, trackEasing?, color?, orient?, fade?, delay?, trackDelay? } with distances relative to the start cel's size) — Baut den Tween aus einem Preset, auf den Start-Cel skaliert (Abstände sind Anteile seiner Größe, Verzögerungen Anteile der Spanne). Daneben dürfen nur to, resample, subpixel, timing, autoRegenerate, fade, ditherPattern, crossfade, delay und orient angegeben werden; sie überschreiben die des Presets.
    • squash (number 0–1; Standard 0) — Geschwindigkeitsbasiertes Squash und Stretch, volumenerhaltend.
    • pivotX (number; Standard 0.5) — Fixpunkt von Skalierung, Drehung und Scherung, als Bruchteil der Breite des Start-Cels (0.5 = Mitte).
    • pivotY (number; Standard 0.5) — Dasselbe, als Bruchteil der Höhe des Start-Cels.
    • pivotSpace (TweenPivotSpace: "cel" | "sprite"; Standard "cel") — Worin pivotX und pivotY angegeben sind. "sprite" macht sie zu einem Punkt in Sprite-Pixeln, gleich für jede damit getweente Ebene.
    • resample (TransformInterpolation: "nearest" | "rotsprite" | "bilinear"; Standard "nearest") — Wie die Pixel neu gesampelt werden, wenn sich Skalierung, Drehung oder Scherung ändern. Reine Verschiebung kopiert Pixel immer exakt.
    • subpixel (TweenSubpixel: "round" | "floor" | "monotonic"; Standard "round") — Wie Bruchteil-Positionen auf ganze Pixel fallen.
    • timing (TweenTiming: "frames" | "time"; Standard "frames") — Was als Fortschritt zählt.
    • exposure (integer 1–8; Standard 1) — Zeichnet jede N-te Pose und hält sie („auf Zweien“ = 2).
    • shortestRotation (boolean; Standard true) — Dreht auf dem kurzen Weg (die Änderung auf -180..180 umgebrochen) statt um die exakte Gradzahl.
    • pingPong (boolean; Standard false) — Hin und zurück: Die Bewegung erreicht die End-Pose in der Mitte der Spanne und kehrt beim End-Keyframe zur Start-Pose zurück, sodass eine Schleife, die dort endet, wo sie begann, keine zweite Zeichnung braucht. Das Easing formt jede Hälfte.
    • autoRegenerate (boolean; Standard true) — Zeichnet die Zwischenbilder von selbst neu, wenn sich der Start-Keyframe oder die Frames ändern.
    • step (integer 0–4096; Standard 0) — Frames zwischen dem Start einer Ebene und dem der nächsten (0 = alle gleichzeitig).
    • order (TweenStaggerOrder: "topDown" | "bottomUp" | "given"; Standard "topDown") — Welche Ebene zuerst startet.
    • length (TweenStaggerLength: "keep" | "extend"; Standard "keep") — Ob spätere Ebenen gemeinsam mit der ersten enden (keep) oder die gleiche Bewegungslänge behalten und später enden (extend; die Frames müssen existieren).
    • groupPivot (boolean; Standard false) — Skaliert, dreht und neigt jede Ebene um einen gemeinsamen Punkt: pivotX/pivotY als Anteile des Rahmens um alle Start-Cels, sodass sich die Ebenen starr als Gruppe bewegen.

Gibt zurück (table): Die IDs der Tweens, eine pro Ebene, in der Reihenfolge von layerIds.

app.tweenPreset(id) — rein

Ein eingebautes Tween-Preset nach ID, oder nil. Übergib sein recipe als Option preset von app.setTween: app.setTween(layerId, frameId, { to = endFrameId, preset = app.tweenPreset("popIn").recipe }).

  • id (string) — Die ID eines eingebauten Presets, z. B. "popIn" oder "slideInLeft".

Gibt zurück (table): Das Preset, { id, name, description, frames, recipe }: recipe ist das relative Tween-Rezept, das die Option preset von app.setTween nimmt; nil bei unbekannter ID.

app.tweenPresets() — rein

Die eingebauten Tween-Presets (Ein- und Ausblenden, Dithering ein und aus, Aufploppen, Fallen, Hereingleiten, Hereinschwingen, Schütteln, Hüpfer, Squash and Stretch, Schweben, Schwingen, Drehen, Blinken...), in der Reihenfolge des Tween-Inspektors. Deine eigenen Presets liegen im Editor auf deinem Gerät und stehen nicht in der Liste.

Gibt zurück (table): Eine Liste von Presets, jedes { id, name, description, frames, recipe }: recipe ist das relative Tween-Rezept, das die Option preset von app.setTween nimmt.

Als Markdown: frames.md.