Fotogrammi e tag

La timeline: i fotogrammi, le loro durate e i tag di animazione. (25 funzioni)

app.addFrame(frameId?, durationMs?, before?) — modifica, annullabile

Aggiunge un nuovo fotogramma vuoto ("Nuovo fotogramma vuoto" nel menu Fotogramma), dopo frameId o prima di esso con before. Il nuovo fotogramma diventa quello attivo.

  • frameId (string, facoltativo) — Il fotogramma accanto a cui inserire. Omettilo (o passa nil) per aggiungere in fondo.
  • durationMs (number, facoltativo) — Predefinito: la durata standard dei fotogrammi dello sprite.
  • before (boolean, facoltativo) — True inserisce il nuovo fotogramma prima di frameId invece che dopo, ed è l'unico modo per aggiungere un fotogramma prima del primo. Richiede un frameId.

Restituisce (string): L'id del nuovo fotogramma.

app.addTag(fromFrameId, toFrameId, name?, color?, direction?) — modifica, annullabile

Crea un nuovo tag che copre [fromFrameId, toFrameId].

  • fromFrameId (string)
  • toFrameId (string)
  • name (string, facoltativo) — Predefinito "Tag N".
  • color (string, facoltativo) — Colore esadecimale.
  • direction (TagDirection: "forward" | "reverse" | "pingpong" | "pingpongReverse", facoltativo) — Direzione di riproduzione; predefinita in avanti.

Restituisce (string): L'id del nuovo tag.

app.bakeTween(layerId, frameId) — modifica, annullabile, rifiutata su un livello bloccato

Rimuove il tween che parte da frameId ma mantiene ogni intermedio come normale cel, così non vengono più ridisegnati. Un unico passo di annullamento.

  • layerId (string) — Un livello immagine (non lo Sfondo).
  • frameId (string) — Il fotogramma del keyframe iniziale: il cel del livello in quel punto (non un collegamento) è ciò che viene animato.

Non restituisce nulla.

app.duplicateFrame(frameId, linked?) — modifica, annullabile

Duplica un fotogramma (e i suoi cel) subito dopo di esso, rendendo attiva la copia ("Nuovo fotogramma" nel menu Fotogramma).

  • frameId (string)
  • linked (boolean, facoltativo) — True collega ogni cel copiato a quello dell'originale (immagini condivise), false copia ogni cel; se omesso, i livelli continui collegano e gli altri copiano.

Restituisce (string): L'id del fotogramma della copia.

app.getActiveFrameId() — legge

L'id del fotogramma attualmente attivo, o nil se non ce n'è.

Restituisce (string): Id del fotogramma o nil.

app.getFrame(frameId) — legge

Un fotogramma come { id, index, durationMs }, o nil se quel fotogramma non esiste.

  • frameId (string)

Restituisce (table): Tabella del fotogramma o nil.

app.getFrames() — legge

Ogni fotogramma nell'ordine della timeline come { id, index (0 = primo), durationMs }.

Restituisce (table): Array di tabelle di fotogrammi.

app.getTags() — legge

Ogni tag di animazione come { id, name, fromFrameId, toFrameId, fromIndex, toIndex (indici di fotogramma inclusivi), color (hex), direction ("forward" | "reverse" | "pingpong" | "pingpongReverse"), repeat (volte riprodotto prima di proseguire; assente = ripete all'infinito) }.

Restituisce (table): Array di tabelle di tag.

app.moveFrame(frameId, toIndex) — modifica, annullabile

Sposta un fotogramma a una nuova posizione nella timeline.

  • frameId (string)
  • toIndex (number) — Posizione di destinazione nell'ordine finale, limitata all'intervallo valido.

Non restituisce nulla.

app.regenerateTween(layerId, frameId, revertFrameIds?) — modifica, annullabile, rifiutata su un livello bloccato

Ridisegna gli intermedi del tween che parte da frameId a partire dal suo cel iniziale. I fotogrammi che hai modificato a mano vengono saltati a meno che siano elencati in revertFrameIds. Un tween il cui fotogramma finale non esiste più non può essere ridisegnato. Un unico passo di annullamento; se non c'è nulla da cambiare non ne aggiunge.

  • layerId (string) — Un livello immagine (non lo Sfondo).
  • frameId (string) — Il fotogramma del keyframe iniziale: il cel del livello in quel punto (non un collegamento) è ciò che viene animato.
  • revertFrameIds (table, facoltativo) — Un elenco di id di fotogrammi intermedi i cui cel modificati a mano vengono ridisegnati a loro volta.

Non restituisce nulla.

app.removeFrame(frameId) — modifica, annullabile

Rimuove un fotogramma e tutti i cel, i posizionamenti di tile e i posizionamenti di riferimenti presenti su di esso. Genera un errore se è l'ultimo fotogramma rimasto.

  • frameId (string)

Non restituisce nulla.

app.removeTag(tagId) — modifica, annullabile

Rimuove un tag (i fotogrammi che copriva restano intatti).

  • tagId (string)

Non restituisce nulla.

app.removeTween(layerId, frameId) — modifica, annullabile, rifiutata su un livello bloccato

Rimuove il tween che parte da frameId, eliminando i suoi intermedi generati (i fotogrammi che hai modificato a mano restano come normali cel). Un unico passo di annullamento.

  • layerId (string) — Un livello immagine (non lo Sfondo).
  • frameId (string) — Il fotogramma del keyframe iniziale: il cel del livello in quel punto (non un collegamento) è ciò che viene animato.

Non restituisce nulla.

app.reverseFrames(fromFrameId?, toFrameId?) — modifica, annullabile

Inverte l'ordine dei fotogrammi in un intervallo (tutti i fotogrammi se omesso) come un unico passo di annullamento. Cel, collegamenti, posizionamenti dei tilemap e trasformazioni dei riferimenti si spostano con i loro fotogrammi; i tag continuano a coprire le stesse posizioni.

  • fromFrameId (string, facoltativo) — Primo fotogramma dell'intervallo; omettilo (insieme a toFrameId) per invertire ogni fotogramma.
  • toFrameId (string, facoltativo) — Ultimo fotogramma dell'intervallo (incluso).

Non restituisce nulla.

app.setActiveFrame(frameId) — modifica

Rende un fotogramma quello attivo (ciò che fa un clic su di esso nella timeline). Non è una modifica annullabile.

  • frameId (string)

Non restituisce nulla.

app.setAllFrameDurations(durationMs) — modifica, annullabile

Imposta ogni fotogramma dello sprite alla stessa durata di riproduzione.

  • durationMs (number)

Non restituisce nulla.

app.setFrameDuration(frameId, durationMs) — modifica, annullabile

Imposta la durata di riproduzione di un fotogramma.

  • frameId (string)
  • durationMs (number) — Millisecondi interi, 1-65535.

Non restituisce nulla.

app.setFrameProps(frameId, props) — modifica, annullabile

Imposta l'etichetta colore e/o il blocco di un fotogramma.

  • frameId (string)
  • props (table) — Le chiavi omesse restano invariate.
    • color (string) — L'etichetta del fotogramma nella timeline come "#rrggbb"; una stringa vuota la rimuove.
    • locked (boolean) — I cel di un fotogramma bloccato non possono essere modificati da nulla, script compresi, e il fotogramma non può essere rimosso, spostato né ricronometrato.

Non restituisce nulla.

app.setTagProps(tagId, props) — modifica, annullabile

Aggiorna una o più proprietà di un tag.

  • tagId (string)
  • props (table) — Le chiavi omesse restano invariate.
    • name (string) — Il nome del tag.
    • color (string) — Il colore del tag come "#rrggbb".
    • direction (TagDirection: "forward" | "reverse" | "pingpong" | "pingpongReverse") — Direzione di riproduzione.
    • fromFrameId (string) — Il primo fotogramma dell'intervallo.
    • toFrameId (string) — L'ultimo fotogramma dell'intervallo.
    • repeat (integer ≥ 0) — Quante volte la riproduzione esegue il tag prima di proseguire (il Repeat del tag di Aseprite); 0 = ciclo infinito.

Non restituisce nulla.

app.setTween(layerId, frameId, opts?) — modifica, annullabile, rifiutata su un livello bloccato

Anima con un tween il cel di un livello a frameId fino a un fotogramma successivo: i fotogrammi intermedi ricevono cel reali (l'immagine del cel iniziale spostata, scalata, ruotata, inclinata e sfumata secondo le opzioni, con l'easing scelto) che restano collegati alla ricetta, quindi vengono ridisegnati quando il cel iniziale cambia. Sostituisce un tween che parte già lì. Un unico passo di annullamento. I fotogrammi su cui hai disegnato restano come sono. Restituisce l'id del tween.

  • layerId (string) — Un livello immagine (non lo Sfondo).
  • frameId (string) — Il fotogramma del keyframe iniziale: il cel del livello in quel punto (non un collegamento) è ciò che viene animato.
  • opts (table, facoltativo)
    • to (string) — Obbligatorio. L'id del fotogramma del keyframe finale: un fotogramma successivo sullo stesso livello. Gli intermedi sono i fotogrammi strettamente compresi tra i due; il fotogramma finale mantiene il tuo disegno.
    • from ({ dx, dy, scaleX, scaleY, rotation, skewX, skewY, opacity }, each optional (missing = no change: 0, 1, 0, 0, 1); predefinito no change) — La posa al keyframe iniziale (di solito si lascia stare).
    • end ({ dx, dy, scaleX, scaleY, rotation, skewX, skewY, opacity }, each optional (missing = no change: 0, 1, 0, 0, 1); predefinito no change) — La posa raggiunta al keyframe finale: traslazione in pixel dello sprite, scala (1 = uguale), rotazione e inclinazione in gradi, moltiplicatore di opacità 0..1.
    • ease (TweenEaseFamily: "linear" | "hold" | "sine" | "quad" | "cubic" | "quart" | "quint" | "expo" | "circ" | "back" | "elastic" | "bounce"; predefinito "quad") — La curva di easing per ogni traccia. Ignorata quando è dato steps.
    • mode (TweenEaseMode: "in" | "out" | "inOut"; predefinito "inOut") — Quale estremo del tween modella ease (ignorato da linear e hold).
    • overshoot (number 0–10) — easing back: quanto prende la rincorsa o supera il bersaglio (predefinito 1.70158). Solo con ease = "back".
    • amplitude (number 1–10) — easing elastic: dimensione del picco (predefinito 1). Solo con ease = "elastic".
    • period (number 0.01–1) — easing elastic: lunghezza dell'oscillazione come frazione dell'intervallo (predefinito 0.3). Solo con ease = "elastic".
    • bounces (integer 1–8) — easing bounce: numero di atterraggi (predefinito 4). Solo con ease = "bounce".
    • steps (integer 1–64) — Quantizza l'avanzamento in questo numero di salti uguali (un aspetto a gradini, tenuto) invece di una curva morbida.
    • 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) — Una curva di easing disegnata attraverso quelle ancore (bezier cubiche; inX/inY e outX/outY sono le maniglie come scarti dall'ancora, 0 di default). Sostituisce ease e 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 per singole tracce, che sovrascrive quello predefinito solo per quelle tracce.
    • color ({ hue?, saturation?, lightness?, tint? }: hue in degrees (-360..360), saturation and lightness -100..100, tint 0..1) — Regolazioni di colore raggiunte alla posa finale, applicate all'immagine iniziale (Tonalità/Saturazione HSL, poi la tinta). I campi omessi restano neutri (0). L'easing della traccia color le modella.
    • colorFrom (the same fields as color; predefinito all neutral) — Le regolazioni di colore al keyframe iniziale (di solito si lasciano stare).
    • tintColor (color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predefinito "#ffffff") — Il colore verso cui la tinta mescola (il suo alfa è ignorato).
    • ramp ({ first, last, shift, wrap? }: palette indices first..last (0-255), shift in whole places (-255..255), wrap true by default) — Solo sprite indexed: i pixel il cui indice di palette è in first..last (escluso l'indice trasparente) si spostano lungo quel tratto di palette di shift posizioni nell'intervallo, ciclando oltre le estremità con wrap e fermandosi a esse altrimenti. Ignorato nelle altre modalità colore. L'easing della traccia color lo modella.
    • path (TweenPath: "straight" | "arc" | "wave" | "zigzag" | "shake" | "custom"; predefinito "straight") — Il percorso che la posizione segue tra le pose, come scarto rispetto alla linea retta.
    • 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)) — percorso custom: il tragitto disegnato, una Bézier cubica attraverso gli ancoraggi, percorsa a velocità costante. Obbligatorio con path = "custom". Il primo ancoraggio è la posizione from e l'ultimo la posizione end: se from o end omettono dx/dy vengono presi da lì, e quelli indicati devono coincidere.
    • orient (boolean; predefinito false) — Ruota il disegno per seguire la direzione di marcia lungo il percorso (aggiunto alla rotazione; nessuna rotazione all'inizio). Usa resample (RotSprite è una buona scelta).
    • height (number) — percorso arc: l'altezza della gobba in pixel. Predefinito 8.
    • pathAmplitude (number) — percorsi wave, zigzag e shake: lo scarto in pixel. Predefinito 4.
    • cycles (number 0–64) — percorsi wave e zigzag: quante onde complete di lunghezza. Predefinito 1.
    • phase (number -1–1) — percorso wave: dove parte nell'onda, in giri. Predefinito 0.
    • seed (integer ≥ 0) — percorso shake: il seme casuale; lo stesso seme produce sempre lo stesso tremolio. Predefinito 1.
    • fade (TweenFade: "alpha" | "dither"; predefinito "alpha") — Come si mostra la traccia di opacità: opacità parziale o una dissolvenza con dithering di pixel interi.
    • ditherPattern (TweenDither: "bayer2" | "bayer4" | "bayer8" | "cluster"; predefinito "bayer4") — Il motivo attraverso cui si dissolve una dissolvenza con dithering, fisso sulla tela per non scorrere quando il disegno si muove. Indicarlo implica fade = "dither".
    • crossfade (boolean; predefinito false) — Dissolve dal disegno iniziale al disegno del keyframe finale (secondo l'easing della traccia di opacità), con dithering o miscelato secondo fade. Il disegno del keyframe finale diventa così un input: modificarlo ridisegna il tween.
    • delay (integer 0–4096; predefinito 0) — Fotogrammi in cui mantenere la posa iniziale prima di muoversi; poi il movimento riempie il resto dell'intervallo.
    • trackDelay ({ position?, scale?, rotation?, skew?, opacity?, color? }, each a whole number of frames (0-4096)) — Ritardi per singole tracce, che sostituiscono delay solo per quelle tracce.
    • 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) — Costruisce il tween da un preset, adattato al cel iniziale (le distanze sono frazioni della sua dimensione, i ritardi frazioni dell'intervallo). Accanto si possono dare solo to, resample, subpixel, timing, autoRegenerate, fade, ditherPattern, crossfade, delay e orient, che sostituiscono quelli del preset.
    • squash (number 0–1; predefinito 0) — Squash e stretch basato sulla velocità, a volume costante.
    • pivotX (number; predefinito 0.5) — Punto fisso di scala, rotazione e inclinazione, come frazione della larghezza del cel iniziale (0.5 = centro).
    • pivotY (number; predefinito 0.5) — Lo stesso, come frazione dell'altezza del cel iniziale.
    • pivotSpace (TweenPivotSpace: "cel" | "sprite"; predefinito "cel") — In che unità sono pivotX e pivotY. "sprite" li rende un punto in pixel dello sprite, lo stesso per ogni livello animato con esso.
    • resample (TransformInterpolation: "nearest" | "rotsprite" | "bilinear"; predefinito "nearest") — Come vengono ricampionati i pixel quando cambiano scala, rotazione o inclinazione. La pura traslazione copia sempre i pixel esattamente.
    • subpixel (TweenSubpixel: "round" | "floor" | "monotonic"; predefinito "round") — Come le posizioni frazionarie cadono sui pixel interi.
    • timing (TweenTiming: "frames" | "time"; predefinito "frames") — Cosa conta come avanzamento.
    • exposure (integer 1–8; predefinito 1) — Disegna una posa ogni N e la mantiene ("on twos" = 2).
    • shortestRotation (boolean; predefinito true) — Ruota per la via più breve (la variazione riportata in -180..180) invece del numero esatto di gradi.
    • pingPong (boolean; predefinito false) — Andata e ritorno: il movimento raggiunge la posa finale a metà dell'intervallo e torna alla posa iniziale al keyframe finale, così un ciclo che finisce dove è cominciato non richiede un secondo disegno. L'easing modella ciascuna metà.
    • autoRegenerate (boolean; predefinito true) — Ridisegna gli intermedi da soli quando cambiano il keyframe iniziale o i fotogrammi.

Restituisce (string): L'id del tween.

app.setTweenChain(layerId, frameIds, opts?) — modifica, annullabile, rifiutata su un livello bloccato

Anima con tween più keyframe di un livello in un solo passo: un tween da ogni keyframe al successivo, tutti con le stesse opzioni (lo stesso di app.setTween senza to). I tween che partono già da quei fotogrammi vengono sostituiti; gli altri sul livello non devono sovrapporsi. Un unico passo di annullamento. Restituisce gli id dei tween, in ordine.

  • layerId (string) — Un livello immagine (non lo Sfondo).
  • frameIds (table) — I keyframe della catena come elenco di id di fotogrammi, dal più antico (2 o più). Un tween va da ciascuno al successivo, quindi i vicini condividono un keyframe; tutti tranne l'ultimo hanno bisogno di un proprio cel.
  • opts (table, facoltativo)
    • from ({ dx, dy, scaleX, scaleY, rotation, skewX, skewY, opacity }, each optional (missing = no change: 0, 1, 0, 0, 1); predefinito no change) — La posa al keyframe iniziale (di solito si lascia stare).
    • end ({ dx, dy, scaleX, scaleY, rotation, skewX, skewY, opacity }, each optional (missing = no change: 0, 1, 0, 0, 1); predefinito no change) — La posa raggiunta al keyframe finale: traslazione in pixel dello sprite, scala (1 = uguale), rotazione e inclinazione in gradi, moltiplicatore di opacità 0..1.
    • ease (TweenEaseFamily: "linear" | "hold" | "sine" | "quad" | "cubic" | "quart" | "quint" | "expo" | "circ" | "back" | "elastic" | "bounce"; predefinito "quad") — La curva di easing per ogni traccia. Ignorata quando è dato steps.
    • mode (TweenEaseMode: "in" | "out" | "inOut"; predefinito "inOut") — Quale estremo del tween modella ease (ignorato da linear e hold).
    • overshoot (number 0–10) — easing back: quanto prende la rincorsa o supera il bersaglio (predefinito 1.70158). Solo con ease = "back".
    • amplitude (number 1–10) — easing elastic: dimensione del picco (predefinito 1). Solo con ease = "elastic".
    • period (number 0.01–1) — easing elastic: lunghezza dell'oscillazione come frazione dell'intervallo (predefinito 0.3). Solo con ease = "elastic".
    • bounces (integer 1–8) — easing bounce: numero di atterraggi (predefinito 4). Solo con ease = "bounce".
    • steps (integer 1–64) — Quantizza l'avanzamento in questo numero di salti uguali (un aspetto a gradini, tenuto) invece di una curva morbida.
    • 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) — Una curva di easing disegnata attraverso quelle ancore (bezier cubiche; inX/inY e outX/outY sono le maniglie come scarti dall'ancora, 0 di default). Sostituisce ease e 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 per singole tracce, che sovrascrive quello predefinito solo per quelle tracce.
    • ends (a list of end pose tables, one per segment (same fields as end)) — Solo per app.setTweenChain: una posa finale diversa per ogni segmento, in ordine; ciascuna sostituisce end per il suo segmento.
    • color ({ hue?, saturation?, lightness?, tint? }: hue in degrees (-360..360), saturation and lightness -100..100, tint 0..1) — Regolazioni di colore raggiunte alla posa finale, applicate all'immagine iniziale (Tonalità/Saturazione HSL, poi la tinta). I campi omessi restano neutri (0). L'easing della traccia color le modella.
    • colorFrom (the same fields as color; predefinito all neutral) — Le regolazioni di colore al keyframe iniziale (di solito si lasciano stare).
    • tintColor (color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predefinito "#ffffff") — Il colore verso cui la tinta mescola (il suo alfa è ignorato).
    • ramp ({ first, last, shift, wrap? }: palette indices first..last (0-255), shift in whole places (-255..255), wrap true by default) — Solo sprite indexed: i pixel il cui indice di palette è in first..last (escluso l'indice trasparente) si spostano lungo quel tratto di palette di shift posizioni nell'intervallo, ciclando oltre le estremità con wrap e fermandosi a esse altrimenti. Ignorato nelle altre modalità colore. L'easing della traccia color lo modella.
    • path (TweenPath: "straight" | "arc" | "wave" | "zigzag" | "shake" | "custom"; predefinito "straight") — Il percorso che la posizione segue tra le pose, come scarto rispetto alla linea retta.
    • 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)) — percorso custom: il tragitto disegnato, una Bézier cubica attraverso gli ancoraggi, percorsa a velocità costante. Obbligatorio con path = "custom". Il primo ancoraggio è la posizione from e l'ultimo la posizione end: se from o end omettono dx/dy vengono presi da lì, e quelli indicati devono coincidere.
    • orient (boolean; predefinito false) — Ruota il disegno per seguire la direzione di marcia lungo il percorso (aggiunto alla rotazione; nessuna rotazione all'inizio). Usa resample (RotSprite è una buona scelta).
    • height (number) — percorso arc: l'altezza della gobba in pixel. Predefinito 8.
    • pathAmplitude (number) — percorsi wave, zigzag e shake: lo scarto in pixel. Predefinito 4.
    • cycles (number 0–64) — percorsi wave e zigzag: quante onde complete di lunghezza. Predefinito 1.
    • phase (number -1–1) — percorso wave: dove parte nell'onda, in giri. Predefinito 0.
    • seed (integer ≥ 0) — percorso shake: il seme casuale; lo stesso seme produce sempre lo stesso tremolio. Predefinito 1.
    • fade (TweenFade: "alpha" | "dither"; predefinito "alpha") — Come si mostra la traccia di opacità: opacità parziale o una dissolvenza con dithering di pixel interi.
    • ditherPattern (TweenDither: "bayer2" | "bayer4" | "bayer8" | "cluster"; predefinito "bayer4") — Il motivo attraverso cui si dissolve una dissolvenza con dithering, fisso sulla tela per non scorrere quando il disegno si muove. Indicarlo implica fade = "dither".
    • crossfade (boolean; predefinito false) — Dissolve dal disegno iniziale al disegno del keyframe finale (secondo l'easing della traccia di opacità), con dithering o miscelato secondo fade. Il disegno del keyframe finale diventa così un input: modificarlo ridisegna il tween.
    • delay (integer 0–4096; predefinito 0) — Fotogrammi in cui mantenere la posa iniziale prima di muoversi; poi il movimento riempie il resto dell'intervallo.
    • trackDelay ({ position?, scale?, rotation?, skew?, opacity?, color? }, each a whole number of frames (0-4096)) — Ritardi per singole tracce, che sostituiscono delay solo per quelle tracce.
    • squash (number 0–1; predefinito 0) — Squash e stretch basato sulla velocità, a volume costante.
    • pivotX (number; predefinito 0.5) — Punto fisso di scala, rotazione e inclinazione, come frazione della larghezza del cel iniziale (0.5 = centro).
    • pivotY (number; predefinito 0.5) — Lo stesso, come frazione dell'altezza del cel iniziale.
    • pivotSpace (TweenPivotSpace: "cel" | "sprite"; predefinito "cel") — In che unità sono pivotX e pivotY. "sprite" li rende un punto in pixel dello sprite, lo stesso per ogni livello animato con esso.
    • resample (TransformInterpolation: "nearest" | "rotsprite" | "bilinear"; predefinito "nearest") — Come vengono ricampionati i pixel quando cambiano scala, rotazione o inclinazione. La pura traslazione copia sempre i pixel esattamente.
    • subpixel (TweenSubpixel: "round" | "floor" | "monotonic"; predefinito "round") — Come le posizioni frazionarie cadono sui pixel interi.
    • timing (TweenTiming: "frames" | "time"; predefinito "frames") — Cosa conta come avanzamento.
    • exposure (integer 1–8; predefinito 1) — Disegna una posa ogni N e la mantiene ("on twos" = 2).
    • shortestRotation (boolean; predefinito true) — Ruota per la via più breve (la variazione riportata in -180..180) invece del numero esatto di gradi.
    • pingPong (boolean; predefinito false) — Andata e ritorno: il movimento raggiunge la posa finale a metà dell'intervallo e torna alla posa iniziale al keyframe finale, così un ciclo che finisce dove è cominciato non richiede un secondo disegno. L'easing modella ciascuna metà.
    • autoRegenerate (boolean; predefinito true) — Ridisegna gli intermedi da soli quando cambiano il keyframe iniziale o i fotogrammi.

Restituisce (table): Gli id dei tween, uno per segmento, in ordine.

app.setTweenEnd(layerId, frameId, toFrameId) — modifica, annullabile, rifiutata su un livello bloccato

Sposta la fine del tween che parte da frameId a un altro fotogramma e lo ridisegna. Gli intermedi che cadono fuori dal nuovo intervallo vengono eliminati (o mantenuti come normali cel se li hai modificati); il fotogramma finale stesso non viene mai toccato. Fallisce se il nuovo intervallo si sovrapporrebbe a un altro tween sul livello. Un unico passo di annullamento.

  • layerId (string) — Un livello immagine (non lo Sfondo).
  • frameId (string) — Il fotogramma del keyframe iniziale: il cel del livello in quel punto (non un collegamento) è ciò che viene animato.
  • toFrameId (string) — Il nuovo keyframe finale: un fotogramma successivo sullo stesso livello.

Non restituisce nulla.

app.setTweenStagger(layerIds, frameId, opts?) — modifica, annullabile, rifiutata su un livello bloccato

Anima più livelli con un'unica ricetta (le stesse opzioni di app.setTween, o un preset adattato al cel iniziale di ogni livello), con ogni livello che parte step fotogrammi dopo il precedente. Con groupPivot i livelli scalano e ruotano attorno a un punto condiviso, così si muovono come un gruppo rigido. I tween che iniziano già lì vengono sostituiti. Un solo passo di annullamento. Restituisce gli id dei tween, nell'ordine di layerIds.

  • layerIds (table) — I livelli da animare, come elenco di id: livelli immagine (non lo Sfondo), ognuno con il proprio cel su frameId. Con order = "given" l'ordine dell'elenco è l'ordine dello sfalsamento.
  • frameId (string) — Il fotogramma del keyframe iniziale, condiviso da tutti i livelli.
  • opts (table, facoltativo)
    • to (string) — Obbligatorio. L'id del fotogramma del keyframe finale: un fotogramma successivo sullo stesso livello. Gli intermedi sono i fotogrammi strettamente compresi tra i due; il fotogramma finale mantiene il tuo disegno.
    • from ({ dx, dy, scaleX, scaleY, rotation, skewX, skewY, opacity }, each optional (missing = no change: 0, 1, 0, 0, 1); predefinito no change) — La posa al keyframe iniziale (di solito si lascia stare).
    • end ({ dx, dy, scaleX, scaleY, rotation, skewX, skewY, opacity }, each optional (missing = no change: 0, 1, 0, 0, 1); predefinito no change) — La posa raggiunta al keyframe finale: traslazione in pixel dello sprite, scala (1 = uguale), rotazione e inclinazione in gradi, moltiplicatore di opacità 0..1.
    • ease (TweenEaseFamily: "linear" | "hold" | "sine" | "quad" | "cubic" | "quart" | "quint" | "expo" | "circ" | "back" | "elastic" | "bounce"; predefinito "quad") — La curva di easing per ogni traccia. Ignorata quando è dato steps.
    • mode (TweenEaseMode: "in" | "out" | "inOut"; predefinito "inOut") — Quale estremo del tween modella ease (ignorato da linear e hold).
    • overshoot (number 0–10) — easing back: quanto prende la rincorsa o supera il bersaglio (predefinito 1.70158). Solo con ease = "back".
    • amplitude (number 1–10) — easing elastic: dimensione del picco (predefinito 1). Solo con ease = "elastic".
    • period (number 0.01–1) — easing elastic: lunghezza dell'oscillazione come frazione dell'intervallo (predefinito 0.3). Solo con ease = "elastic".
    • bounces (integer 1–8) — easing bounce: numero di atterraggi (predefinito 4). Solo con ease = "bounce".
    • steps (integer 1–64) — Quantizza l'avanzamento in questo numero di salti uguali (un aspetto a gradini, tenuto) invece di una curva morbida.
    • 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) — Una curva di easing disegnata attraverso quelle ancore (bezier cubiche; inX/inY e outX/outY sono le maniglie come scarti dall'ancora, 0 di default). Sostituisce ease e 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 per singole tracce, che sovrascrive quello predefinito solo per quelle tracce.
    • color ({ hue?, saturation?, lightness?, tint? }: hue in degrees (-360..360), saturation and lightness -100..100, tint 0..1) — Regolazioni di colore raggiunte alla posa finale, applicate all'immagine iniziale (Tonalità/Saturazione HSL, poi la tinta). I campi omessi restano neutri (0). L'easing della traccia color le modella.
    • colorFrom (the same fields as color; predefinito all neutral) — Le regolazioni di colore al keyframe iniziale (di solito si lasciano stare).
    • tintColor (color ("#rgb", "#rrggbb[aa]" or { r, g, b, a }); predefinito "#ffffff") — Il colore verso cui la tinta mescola (il suo alfa è ignorato).
    • ramp ({ first, last, shift, wrap? }: palette indices first..last (0-255), shift in whole places (-255..255), wrap true by default) — Solo sprite indexed: i pixel il cui indice di palette è in first..last (escluso l'indice trasparente) si spostano lungo quel tratto di palette di shift posizioni nell'intervallo, ciclando oltre le estremità con wrap e fermandosi a esse altrimenti. Ignorato nelle altre modalità colore. L'easing della traccia color lo modella.
    • path (TweenPath: "straight" | "arc" | "wave" | "zigzag" | "shake" | "custom"; predefinito "straight") — Il percorso che la posizione segue tra le pose, come scarto rispetto alla linea retta.
    • 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)) — percorso custom: il tragitto disegnato, una Bézier cubica attraverso gli ancoraggi, percorsa a velocità costante. Obbligatorio con path = "custom". Il primo ancoraggio è la posizione from e l'ultimo la posizione end: se from o end omettono dx/dy vengono presi da lì, e quelli indicati devono coincidere.
    • orient (boolean; predefinito false) — Ruota il disegno per seguire la direzione di marcia lungo il percorso (aggiunto alla rotazione; nessuna rotazione all'inizio). Usa resample (RotSprite è una buona scelta).
    • height (number) — percorso arc: l'altezza della gobba in pixel. Predefinito 8.
    • pathAmplitude (number) — percorsi wave, zigzag e shake: lo scarto in pixel. Predefinito 4.
    • cycles (number 0–64) — percorsi wave e zigzag: quante onde complete di lunghezza. Predefinito 1.
    • phase (number -1–1) — percorso wave: dove parte nell'onda, in giri. Predefinito 0.
    • seed (integer ≥ 0) — percorso shake: il seme casuale; lo stesso seme produce sempre lo stesso tremolio. Predefinito 1.
    • fade (TweenFade: "alpha" | "dither"; predefinito "alpha") — Come si mostra la traccia di opacità: opacità parziale o una dissolvenza con dithering di pixel interi.
    • ditherPattern (TweenDither: "bayer2" | "bayer4" | "bayer8" | "cluster"; predefinito "bayer4") — Il motivo attraverso cui si dissolve una dissolvenza con dithering, fisso sulla tela per non scorrere quando il disegno si muove. Indicarlo implica fade = "dither".
    • crossfade (boolean; predefinito false) — Dissolve dal disegno iniziale al disegno del keyframe finale (secondo l'easing della traccia di opacità), con dithering o miscelato secondo fade. Il disegno del keyframe finale diventa così un input: modificarlo ridisegna il tween.
    • delay (integer 0–4096; predefinito 0) — Fotogrammi in cui mantenere la posa iniziale prima di muoversi; poi il movimento riempie il resto dell'intervallo.
    • trackDelay ({ position?, scale?, rotation?, skew?, opacity?, color? }, each a whole number of frames (0-4096)) — Ritardi per singole tracce, che sostituiscono delay solo per quelle tracce.
    • 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) — Costruisce il tween da un preset, adattato al cel iniziale (le distanze sono frazioni della sua dimensione, i ritardi frazioni dell'intervallo). Accanto si possono dare solo to, resample, subpixel, timing, autoRegenerate, fade, ditherPattern, crossfade, delay e orient, che sostituiscono quelli del preset.
    • squash (number 0–1; predefinito 0) — Squash e stretch basato sulla velocità, a volume costante.
    • pivotX (number; predefinito 0.5) — Punto fisso di scala, rotazione e inclinazione, come frazione della larghezza del cel iniziale (0.5 = centro).
    • pivotY (number; predefinito 0.5) — Lo stesso, come frazione dell'altezza del cel iniziale.
    • pivotSpace (TweenPivotSpace: "cel" | "sprite"; predefinito "cel") — In che unità sono pivotX e pivotY. "sprite" li rende un punto in pixel dello sprite, lo stesso per ogni livello animato con esso.
    • resample (TransformInterpolation: "nearest" | "rotsprite" | "bilinear"; predefinito "nearest") — Come vengono ricampionati i pixel quando cambiano scala, rotazione o inclinazione. La pura traslazione copia sempre i pixel esattamente.
    • subpixel (TweenSubpixel: "round" | "floor" | "monotonic"; predefinito "round") — Come le posizioni frazionarie cadono sui pixel interi.
    • timing (TweenTiming: "frames" | "time"; predefinito "frames") — Cosa conta come avanzamento.
    • exposure (integer 1–8; predefinito 1) — Disegna una posa ogni N e la mantiene ("on twos" = 2).
    • shortestRotation (boolean; predefinito true) — Ruota per la via più breve (la variazione riportata in -180..180) invece del numero esatto di gradi.
    • pingPong (boolean; predefinito false) — Andata e ritorno: il movimento raggiunge la posa finale a metà dell'intervallo e torna alla posa iniziale al keyframe finale, così un ciclo che finisce dove è cominciato non richiede un secondo disegno. L'easing modella ciascuna metà.
    • autoRegenerate (boolean; predefinito true) — Ridisegna gli intermedi da soli quando cambiano il keyframe iniziale o i fotogrammi.
    • step (integer 0–4096; predefinito 0) — Fotogrammi tra l'inizio di un livello e quello del successivo (0 = tutti insieme).
    • order (TweenStaggerOrder: "topDown" | "bottomUp" | "given"; predefinito "topDown") — Quale livello parte per primo.
    • length (TweenStaggerLength: "keep" | "extend"; predefinito "keep") — Se i livelli successivi finiscono insieme al primo (keep) o mantengono la stessa durata del movimento e finiscono dopo (extend; i fotogrammi devono esistere).
    • groupPivot (boolean; predefinito false) — Scala, ruota e inclina ogni livello attorno a un unico punto: pivotX/pivotY sono frazioni del riquadro attorno a tutti i cel iniziali, così i livelli si muovono rigidamente come un gruppo.

Restituisce (table): Gli id dei tween, uno per livello, nell'ordine di layerIds.

app.tweenPreset(id) — pura

Un preset di tween integrato per id, o nil. Passa la sua recipe come opzione preset di app.setTween: app.setTween(layerId, frameId, { to = endFrameId, preset = app.tweenPreset("popIn").recipe }).

  • id (string) — L'id di un preset integrato, ad es. "popIn" o "slideInLeft".

Restituisce (table): Il preset, { id, name, description, frames, recipe }: recipe è la ricetta relativa del tween che accetta l'opzione preset di app.setTween; nil per un id sconosciuto.

app.tweenPresets() — pura

I preset di tween integrati (dissolvenze in entrata e uscita, dithering in entrata e uscita, comparsa, caduta, scivolamenti, picchiata, scossa, salto, schiacciamento e allungamento, fluttuazione, oscillazione, rotazione, lampeggio...), nell'ordine dell'ispettore Tween. I tuoi preset restano nell'editor sul tuo dispositivo e non sono elencati.

Restituisce (table): Un elenco di preset, ognuno { id, name, description, frames, recipe }: recipe è la ricetta relativa del tween che accetta l'opzione preset di app.setTween.

In Markdown: frames.md.