Livelli

Crea, organizza e configura i livelli. I gruppi sono cartelle di livelli: il parentId di un livello indica il suo gruppo (nil al livello superiore) e le posizioni di app.moveLayer contano all'interno di un gruppo (0 = in basso). Nascondere o bloccare un gruppo nasconde o blocca tutto ciò che contiene. Un gruppo con opacità piena e modalità di fusione "normal" è pass-through (i suoi livelli si fondono direttamente con ciò che sta sotto) a meno che il suo flag isolated sia attivo; un gruppo isolato, o con qualsiasi altra opacità o modalità, compone prima i suoi livelli tra loro. (25 funzioni)

app.addAdjustmentLayer(name?, effects?, parentId?) — modifica, annullabile

Aggiunge un livello di regolazione sopra tutti gli altri livelli (o dentro il gruppo parentId): non contiene pixel e i suoi effetti cambiano tutto ciò che è composto sotto di lui nel suo gruppo (o l'intera immagine), su ogni fotogramma, all'opacità del livello. Ritaglialo per cambiare solo il livello sottostante. Lo rende attivo.

  • name (string, facoltativo) — Predefinito "Adjustment N".
  • effects (table, facoltativo) — I suoi effetti, come per app.setLayerEffects (solo i tipi di colore e per pixel). Se omessi, per ora nessuno.
  • parentId (string, facoltativo) — Un gruppo a cui aggiungerlo (sopra i suoi livelli); se omesso, il livello superiore.

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

app.addGroup(name?, parentId?) — modifica, annullabile

Aggiunge un nuovo gruppo di livelli vuoto sopra tutti gli altri livelli (o dentro il gruppo parentId) e lo rende attivo. Mettici dentro dei livelli con app.moveLayer o app.groupLayers.

  • name (string, facoltativo) — Predefinito "Group N".
  • parentId (string, facoltativo) — Un gruppo in cui annidarlo (sopra i suoi livelli); se omesso, il livello superiore.

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

app.addLayer(name?, parentId?) — modifica, annullabile

Aggiunge un nuovo livello vuoto sopra tutti gli altri livelli (o sopra i livelli del gruppo parentId) e lo rende attivo.

  • name (string, facoltativo) — Predefinito "Layer N".
  • parentId (string, facoltativo) — Un gruppo a cui aggiungerlo (sopra i suoi livelli); se omesso, il livello superiore.

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

app.backgroundFromLayer(layerId?, backgroundColor?) — modifica, annullabile, rifiutata su un livello bloccato

Livello > "Sfondo da livello": converte un livello immagine nel livello Sfondo dello sprite: spostato in fondo, chiamato "Background" e reso completamente opaco (i pixel trasparenti prendono il colore di sfondo). Genera un errore se lo sprite ha già un livello Sfondo.

  • layerId (string, facoltativo) — Il livello immagine da convertire; se omesso, il livello immagine più in basso.
  • backgroundColor (color, facoltativo) — Cosa riempie i pixel trasparenti. Predefinito: il colore di sfondo corrente.

Restituisce (string): L'id del livello convertito.

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

Rende gli effetti attivi di un livello immagine in tutti i suoi cel e li rimuove, come un unico passo di annullamento. I cel si ingrandiscono per contenere ombre e contorni (ritagliati alla tela); gli sprite indexed adattano il risultato alla palette di ogni fotogramma. Genera un errore su un livello bloccato o senza effetti.

  • layerId (string)

Non restituisce nulla.

app.duplicateLayer(layerId) — modifica, annullabile

Clona un livello (un gruppo con tutto ciò che contiene) e ogni cel dipinto su di esso, inserendo la copia subito sopra l'originale e rendendola attiva.

  • layerId (string)

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

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

Sostituisce un gruppo e tutto ciò che contiene con un unico livello immagine (stesso id, nome, opacità, modalità di fusione e posizione) che contiene i suoi livelli composti insieme su ogni fotogramma. I livelli nascosti, bozza e di riferimento al suo interno vengono eliminati, come in Appiattisci.

  • layerId (string) — Il gruppo da appiattire.

Non restituisce nulla.

app.flattenSprite(visibleOnly?, backgroundColor?) — modifica, annullabile

Livello > Appiattisci: riunisce ogni livello di primo livello (anche quelli nascosti) in un unico livello, per fotogramma, esattamente come si vede con tutti mostrati; con visibleOnly, solo quelli visibili, mantenendo quelli nascosti. Un livello Sfondo visibile resta lo Sfondo (completamente opaco); altrimenti il risultato è un nuovo livello chiamato Flattened. Genera un errore se non c'è nulla da appiattire.

  • visibleOnly (boolean, facoltativo) — Appiattisci visibili: appiattisce solo i livelli di primo livello visibili e mantiene quelli nascosti. Predefinito false: tutto, compresi i livelli nascosti.
  • backgroundColor (color, facoltativo) — Solo quando il risultato è il livello Sfondo (viene appiattito uno Sfondo visibile): cosa riempie i pixel che nulla copre. Predefinito: il colore di sfondo corrente.

Non restituisce nulla.

app.getActiveLayerId() — legge

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

Restituisce (string): Id del livello o nil.

app.getLayer(layerId) — legge

Un livello, nella stessa forma di una voce di app.getLayers, o nil se quel livello non esiste.

  • layerId (string)

Restituisce (table): Tabella del livello o nil.

app.getLayers() — legge

Ogni livello, dal basso verso l'alto (un gruppo sta subito sopra i suoi livelli), come { id, name, type ("image" | "tilemap" | "reference" | "group"), parentId (il gruppo in cui si trova; nil al livello superiore), depth (0 = livello superiore), index (0 = fondo dell'intera pila), position (posizione tra i livelli del suo genitore, 0 = in basso; ciò che accetta app.moveLayer), opacity (0-1), visible, locked, movementLocked, background (true sul livello Sfondo), clipped (una maschera di ritaglio: si vede solo dove il livello non ritagliato più vicino sotto di esso ha pixel), continuous (app.duplicateFrame collega i suoi cel invece di copiarli), blendMode, collapsed (gruppi), tileset = { tileWidth, tileHeight, tileCount, matchFlipH, matchFlipV, matchRotate } (livelli tilemap), reference = { width, height } (livelli di riferimento) }. visible/locked/movementLocked sono i flag propri del livello; un gruppo nascosto, bloccato o con spostamento bloccato nasconde, blocca o fissa anche tutto ciò che contiene.

Restituisce (table): Array di tabelle di livelli.

app.getReferenceTransform(layerId, frameId) — legge

Dove si trova l'immagine di un livello di riferimento su un fotogramma, come { x, y, width, height } in pixel dello sprite, o nil se lì è vuoto.

  • layerId (string) — Un livello di riferimento.
  • frameId (string)

Restituisce (table): Tabella della trasformazione o nil.

app.groupLayers(layerIds, name?) — modifica, annullabile

Mette dei livelli (gruppi con tutto ciò che contengono) in un nuovo gruppo alla posizione del più alto, mantenendone l'ordine, e rende attivo il gruppo.

  • layerIds (table) — Array di id di livelli, tutti nello stesso gruppo (o tutti al livello superiore).
  • name (string, facoltativo) — Predefinito "Group N".

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

app.layerFromBackground() — modifica, annullabile

Livello > "Livello da sfondo": trasforma il livello Sfondo in un livello normale (trasparenza e spostamento di nuovo consentiti). Genera un errore se lo sprite non ha un livello Sfondo.

Restituisce (string): L'id del livello convertito.

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

Compone un livello (o un intero gruppo, come appare) sul livello direttamente sotto di lui nello stesso gruppo, poi lo elimina; una base di ritaglio porta con sé i suoi livelli ritagliati. Il risultato appare identico, e il livello sottostante finisce con opacità 100% e modalità di fusione normal. Genera un errore se sotto non c'è nulla nel suo gruppo, se ciò che sta sotto non è un livello immagine, o se un livello non ritagliato verrebbe unito a uno ritagliato.

  • layerId (string)

Non restituisce nulla.

app.mergeLayers(layerIds) — modifica, annullabile, rifiutata su un livello bloccato

Unisce dei livelli (gruppi con tutto ciò che contengono) in un unico livello immagine esattamente come appaiono composti insieme, alla posizione del più alto e con il suo nome, e lo rende attivo. Se tra loro c'è lo Sfondo, il risultato è lo Sfondo.

  • layerIds (table) — Array di due o più id di livelli, tutti nello stesso gruppo (o tutti al livello superiore). Anche quelli nascosti vengono uniti.

Restituisce (string): L'id del livello unito.

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

Unisce un livello immagine al livello direttamente sopra di lui nello stesso gruppo: il risultato appare identico a Unisci in basso di quel livello, ma prende il suo nome e la sua etichetta colore. Genera un errore se sopra non c'è nulla nel suo gruppo o se non è un livello immagine.

  • layerId (string)

Non restituisce nulla.

app.moveLayer(layerId, position, parentId?) — modifica, annullabile

Sposta un livello (un gruppo con tutto ciò che contiene) a una nuova posizione, eventualmente in un altro gruppo. Genera un errore se si sposta un gruppo dentro se stesso.

  • layerId (string)
  • position (number) — La sua posizione tra gli altri livelli del genitore dopo lo spostamento (0 = in basso), limitata all'intervallo valido.
  • parentId (string, facoltativo) — Il gruppo in cui spostarlo; "" = il livello superiore; se omesso, resta nel gruppo attuale.

Non restituisce nulla.

app.removeLayer(layerId) — modifica, annullabile

Rimuove un livello e tutti i cel dipinti su di esso; rimuovere un gruppo rimuove tutto ciò che contiene. Genera un errore se non resterebbe nessun livello (che non sia un gruppo).

  • layerId (string)

Non restituisce nulla.

app.setActiveLayer(layerId) — modifica

Rende un livello quello attivo (ciò che fa un clic su di esso nel pannello dei livelli). Non è una modifica annullabile.

  • layerId (string)

Non restituisce nulla.

app.setLayerEffects(layerId, effects) — modifica, annullabile

Imposta gli effetti non distruttivi di un livello: le operazioni agiscono sui pixel del livello (i figli composti di un gruppo) a ogni composizione dello sprite, in ordine, e non vengono mai scritte nei cel (lo fa app.bakeLayerEffects). Consentito su un livello bloccato. Non per i livelli di riferimento; il livello Sfondo accetta solo effetti di colore.

  • layerId (string)
  • effects (table) — L'intero elenco di effetti del livello, dal basso ({} lo svuota). Ogni voce è { kind = "levels", ...that effect's fields, enabled = true }; leggi l'elenco attuale da app.getLayers, modificalo e passalo di nuovo (le voci mantengono il loro id). Tipi: brightnessContrast, hueSaturation, colorCurve, levels, threshold, gradientMap, colorBalance, invert, replaceColor, posterize prendono i campi della corrispondente regolazione app.*; outline prende place, width, shape, color; shadow prende place, dx, dy, spread, shape, softness (0-8 px di bordo sfumato), edge ("dithered", "hard" o "smooth": come viene disegnato un bordo sfumato), color; noise (amount, size, mono, seed), dither (pattern, levels, strength), scanlines (period, thickness, offset, strength, mask), vignette (strength, radius, softness, color), paletteSwap (from, to, tolerance), blur (radius, shape, edge, colors), bloom (threshold, radius, intensity, edge, colors), edgeDetect (strength, mode, invert, color), smoother (size), pixelate (size), chromatic (dx, dy), wave (axis, amplitude, wavelength, phase), bend (axis, amount), distortion (axis, band, amount, density, seed), parallax (shift), echo (count, dx, dy, fade), antiAlias (a, anyA, b, steps, into, strength, colors: come app.antiAlias), autoShade (target, base, angle, highlights, shadows, width, hueShift, chroma, rim, outline, colors, ramp: come app.autoShade). Blur e bloom possono agganciarsi per la pixel art: edge è "smooth", "hard" o "dithered", colors è "any" o "palette" (la palette del frame, il valore predefinito negli sprite indicizzati). Anima un parametro numerico o di colore con tracks = { dx = { { frame = frameId, value = 0 }, { frame = otherFrameId, value = 4, easing = ... } } } (il percorso è il campo, oppure value.gamma, shadows.red e così via; un easing mancante è lineare) e timing = "frames" o "time". Ogni colore (color, below, above, from, to, il color di un punto del gradiente, a, b, base, il value di un keyframe di colore) è "#rgb", "#rrggbb", "#rrggbbaa" o { r, g, b, a } (a vale 255 se omesso); le liste di colori (from e to di paletteSwap, ramp di autoShade) accettano anch'esse queste forme, ignorando l'alfa. Le letture (app.getLayers) restituiscono i colori come tabelle { r, g, b, a } e le liste di colori come stringhe "#rrggbb".

Non restituisce nulla.

app.setLayerProps(layerId, props) — modifica, annullabile

Aggiorna una o più proprietà di un livello o gruppo.

  • layerId (string)
  • props (table) — Le chiavi omesse restano invariate.
    • name (string) — Il nome del livello.
    • opacity (number 0–1) — Opacità del livello. Un gruppo sotto 1 compone prima i suoi livelli tra loro (è isolato).
    • visible (boolean) — Se il livello è mostrato (e, per gli script, esportato). Un gruppo nascosto nasconde tutto ciò che contiene.
    • locked (boolean) — Il contenuto di un livello bloccato non può essere cambiato da nulla, script compresi. Bloccare un gruppo blocca tutto ciò che contiene.
    • movementLocked (boolean) — I cel di un livello con spostamento bloccato non possono essere spostati (movePixels, moveCels, uno spostamento di transformPixels, il posizionamento di riferimenti), ma si può ancora dipingere. Bloccare lo spostamento di un gruppo blocca tutto ciò che contiene.
    • clipped (boolean) — Maschera di ritaglio: il livello si vede solo dove il livello non ritagliato più vicino sotto di lui nello stesso gruppo (la sua base) ha pixel, e la modalità di fusione della base si applica all'intera pila. Non per i livelli di riferimento né per il livello Sfondo.
    • draft (boolean) — Livello bozza: mostrato mentre lavori ma mai esportato, appiattito o timbrato (un gruppo bozza porta con sé tutto ciò che contiene). Non per i livelli di riferimento né per il livello Sfondo.
    • continuous (boolean) — Livello continuo (quello di Aseprite): Nuovo fotogramma (app.duplicateFrame senza linked) collega il cel di questo livello a quello dell'originale invece di copiarlo. Non per i gruppi.
    • isolated (boolean) — Solo gruppi: compone prima i livelli del gruppo da soli, poi fonde il risultato come un'unica immagine (il gruppo Normal di Photoshop). Disattivato, un gruppo con fusione normal e opacità 1 è pass-through: i suoi livelli si fondono direttamente con ciò che sta sotto. Qualsiasi altra modalità di fusione o opacità isola comunque il gruppo.
    • blendMode (BlendMode: "normal" | "multiply" | "screen" | "overlay" | "darken" | "lighten" | "color-dodge" | "color-burn" | "hard-light" | "soft-light" | "difference" | "exclusion" | "hue" | "saturation" | "color" | "luminosity" | "addition" | "subtract" | "divide") — Come il livello si fonde con quelli sottostanti. Un gruppo con una modalità diversa da "normal" compone prima i suoi livelli tra loro (è isolato).

Non restituisce nulla.

app.setReferenceTransform(layerId, frameId, x, y, width, height) — modifica, annullabile, rifiutata su un livello bloccato

Riposiziona/ridimensiona la posizione di un livello di riferimento su un fotogramma (nello spazio dello sprite). Una larghezza o un'altezza <= 0 la cancella (vuoto su quel fotogramma). Genera un errore se layerId non è un livello di riferimento.

  • layerId (string)
  • frameId (string)
  • x (number)
  • y (number)
  • width (number)
  • height (number)

Non restituisce nulla.

app.stampVisible(name?) — modifica, annullabile

Aggiunge un nuovo livello che contiene tutto ciò che è visibile, per fotogramma, esattamente come lo produrrebbe Appiattisci (livelli di riferimento e bozza esclusi) ma mantenendo ogni livello, sopra il blocco di primo livello del livello attivo, e lo rende attivo.

  • name (string, facoltativo) — Predefinito "Visible".

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

app.ungroupLayer(layerId) — modifica, annullabile

Rimuove un gruppo, spostando i suoi livelli in alto al suo posto. Le loro proprietà vengono mantenute; opacità, modalità di fusione e visibilità del gruppo vengono scartate, non incorporate.

  • layerId (string) — Un gruppo.

Non restituisce nulla.

In Markdown: layers.md.