Contesto di modifica

I colori, il pennello, la simmetria e le opzioni degli strumenti correnti, condivisi con la barra degli strumenti dell'editor. I comandi di disegno li usano per colori, pennello e opzioni degli strumenti che non vengono passati; la simmetria è solo informativa e viene applicata solo se la passi. (3 funzioni)

app.getContext() — legge

Il contesto di modifica: le impostazioni che i comandi di disegno usano per colori, pennello e opzioni degli strumenti che non passi, condivise con la barra degli strumenti dell'interfaccia. symmetry è l'interruttore di simmetria della barra degli strumenti, leggibile qui ma NON applicato implicitamente ai comandi: passa symmetry = app.getContext().symmetry a un comando di disegno per seguirlo. Campi: { foregroundColor, backgroundColor, brushSize, brushShape, brushAngle, customBrush, pixelPerfect, eraserRightClick, ink, shades, stabilizer, pressureSize, pressureAngle, pressureGradient, pressureMin, pressureMax, velocitySize, velocityAngle, velocityGradient, velocityMin, velocityMax, dynamicsMinSize, dynamicsMinAngle, dynamicsMaxAngle, dynamicsDither, dynamicsCurve, symmetry, symmetryX, symmetryY, tilemapMode, shapeFillMode, cornerRadius, selectionCornerRadius, cornerRadiusLinked, lineWidth, curvePixelPerfect, bucketFillMode, bucketTolerance, bucketCloseGap, bucketDiagonal, bucketStopAtGrid, bucketPattern, wandFillMode, wandTolerance, wandDiagonal, wandStopAtGrid, sprayRate, scatterX, scatterY, scatterCount, blurStrength, jumbleStrength, dodgeBurnStrength, dodgeBurnHueShift, ditherPattern, ditherDensity, gradientType, gradientDithering, gradientSnap, gradientColors, gradientStops, eyedropperSource, tileIndex, tileFlipH, tileFlipV, tileRotate90, tilePlace, isoShape, isoWidth, isoDepth, isoHeight, isoBevel, isoCap, isoStyle, isoHiddenEdges, isoDirection, isoAutoShade, isoColors }. I colori sono tabelle { r, g, b, a }; symmetry è un array di assi; customBrush è { width, height, mask (elenco piatto di 0/1) } o nil. Modificalo con app.setContext.

Restituisce (table): Tabella del contesto.

app.setContext(props) — modifica

Cambia il contesto di modifica: i colori, il pennello, la simmetria, la modalità tilemap e le opzioni degli strumenti correnti. I comandi di disegno li usano per le opzioni che non vengono passate, tranne symmetry, che viene solo memorizzata per l'interfaccia (e leggibile tramite app.getContext) e non viene mai applicata a un comando se non la passi. Condiviso con l'interfaccia: la barra degli strumenti mostra la modifica, che resta anche dopo la fine dello script. Non è una modifica annullabile.

  • props (table) — Le chiavi omesse restano invariate.
    • foregroundColor (color ("#rgb", "#rrggbb[aa]" or { r, g, b, a })) — Il colore di pittura: il color di ogni comando di disegno e il colore iniziale del gradiente.
    • backgroundColor (color ("#rgb", "#rrggbb[aa]" or { r, g, b, a })) — Il colore secondario: il colore finale del gradiente e ciò che scambia swapColors.
    • brushSize (integer 1–64) — Dimensione del pennello in pixel per le forme integrate (ignorata da un pennello personalizzato). Imposta anche il raggio dello spray (2x la dimensione).
    • brushShape (BrushShape: "circle" | "square" | "line" | "diamond" | "cross" | "x" | "star" | "horizontal" | "custom") — "line" è una linea di 1px inclinata da brushAngle; "square" viene ruotato da esso; "circle", "diamond", "cross", "x" e "star" lo ignorano; "horizontal" è una linea ad angolo 0 che lo ignora; "custom" dipinge customBrush.
    • brushAngle (integer 0–180) — Angolo del pennello in gradi (0-180): inclina il pennello "line" e ruota il pennello "square". Ignorato dalle altre forme.
    • customBrush ({ width, height, mask } with mask a flat list of 0/1, or false to clear) — La maschera che dipinge un pennello personalizzato: { rows = { ".#.", "###", ".#." } } oppure { width, height, mask } con mask una lista piatta di 0/1. Di norma si imposta con app.useBrush(name) da un pennello definito con app.defineBrush. Senza maschera, un pennello personalizzato dipinge un punto di 1px.
    • pixelPerfect (boolean) — Rimuove i gradini d'angolo doppi dai tratti a mano libera (con qualsiasi dimensione del pennello); il pennello viene stampato lungo il percorso corretto.
    • eraserRightClick (EraserRightClick: "background" | "replace") — Tasto destro della gomma: "background" dipinge il colore di sfondo ovunque passi, "replace" trasforma in colore di sfondo solo i pixel del colore di primo piano (Aseprite).
    • ink (Ink: "copy" | "simple" | "lock-alpha" | "shading") — Come la pittura (tratti, spray, forme, linee, poligono, contorno, secchiello, gradiente, fillSelection) si combina con i pixel esistenti: "copy" li sostituisce (predefinito), "simple" fa l'alpha-compositing, "lock-alpha" ricolora solo i pixel visibili, "shading" fa avanzare i pixel lungo shades.
    • shades (a list of colors ("#rrggbb[aa]" or { r, g, b, a }), in order) — La rampa lungo cui avanza l'inchiostro shading, in ordine: il riquadro Sfumature dell'editor (o l'intervallo di palette selezionato). I comandi di disegno la usano quando l'inchiostro è shading.
    • stabilizer (integer 0–64) — Forza dello stabilizzatore per i tratti a mano libera: ogni punto viene mediato con i N precedenti, attenuando il tremolio (il tratto resta indietro rispetto al cursore). 0 = disattivato.
    • pressureSize (boolean) — Lascia che la pressione della penna (il mouse conta come pressione piena) controlli la dimensione del pennello, da dynamicsMinSize fino a brushSize.
    • pressureAngle (boolean) — Lascia che la pressione della penna (il mouse conta come pressione piena) controlli l'angolo del pennello, da dynamicsMinAngle a dynamicsMaxAngle.
    • pressureGradient (boolean) — Lascia che la pressione della penna (il mouse conta come pressione piena) sfumi il colore da foregroundColor a backgroundColor lungo il tratto.
    • pressureMin (integer 0–100) — Lettura (in percentuale) del sensore di pressione che corrisponde all'estremo basso. Se maggiore di pressureMax inverte la corrispondenza.
    • pressureMax (integer 0–100) — Lettura (in percentuale) del sensore di pressione che corrisponde all'estremo alto.
    • velocitySize (boolean) — Lascia che la velocità del puntatore controlli la dimensione del pennello, da dynamicsMinSize fino a brushSize.
    • velocityAngle (boolean) — Lascia che la velocità del puntatore controlli l'angolo del pennello, da dynamicsMinAngle a dynamicsMaxAngle.
    • velocityGradient (boolean) — Lascia che la velocità del puntatore sfumi il colore da foregroundColor a backgroundColor lungo il tratto.
    • velocityMin (integer 0–100) — Lettura (in percentuale) del sensore di velocità che corrisponde all'estremo basso. Se maggiore di velocityMax inverte la corrispondenza.
    • velocityMax (integer 0–100) — Lettura (in percentuale) del sensore di velocità che corrisponde all'estremo alto.
    • dynamicsMinSize (integer 1–64) — Dimensione del pennello all'estremo basso di un sensore associato alla dimensione (l'estremo alto è brushSize).
    • dynamicsMinAngle (integer 0–180) — Angolo del pennello all'estremo basso di un sensore associato all'angolo.
    • dynamicsMaxAngle (integer 0–180) — Angolo del pennello all'estremo alto di un sensore associato all'angolo.
    • dynamicsDither (boolean) — Le dinamiche del gradiente scelgono foregroundColor o backgroundColor per ogni pixel (dithering ordinato) invece di sfumare. Negli sprite indexed le sfumature vengono agganciate al colore di palette più vicino.
    • dynamicsCurve (integer 25–400) — Curva di sensibilità in percentuale: il valore del sensore viene elevato a curve/100 (100 = lineare, sopra 100 servono più pressione/velocità per fare effetto).
    • symmetry (elenco di SymmetryAxis: "horizontal" | "vertical" | "diagonal" | "antidiagonal") — L'impostazione di simmetria dello sprite attivo (ogni sprite mantiene la sua, come la posizione dell'asse): assi di specchio passanti per il centro di simmetria. Solo informazione leggibile: i comandi di disegno non la applicano a meno che tu non passi symmetry = app.getContext().symmetry. Vuoto = disattivata; più assi si combinano (orizzontale + verticale = 4 vie).
    • symmetryX (a number (multiple of 0.5), or false to re-center) — Dove si trova l'asse di simmetria verticale (e il punto in cui si incrociano le due diagonali): pixel dal bordo sinistro della tela, multiplo di 0.5 (intero = tra due pixel, x.5 = al centro di un pixel). nil = centrato. Come symmetry, solo informazione leggibile: passa symmetryX = app.getContext().symmetryX a un comando di disegno per seguirla. Imposta false per ricentrare.
    • symmetryY (a number (multiple of 0.5), or false to re-center) — Dove si trova l'asse di simmetria orizzontale (e l'incrocio delle diagonali): pixel dal bordo superiore della tela, multiplo di 0.5. nil = centrato. Imposta false per ricentrare.
    • tilemapMode (TilemapEditMode: "tiles" | "pixels-edit" | "pixels-auto") — Come la pittura a pixel tratta un livello tilemap: "pixels-auto" dà a ogni cella dipinta il suo tile, "pixels-edit" modifica sul posto il tile condiviso (ogni posizionamento si aggiorna), "tiles" consente solo di timbrare tile interi.
    • shapeFillMode (FillMode: "outline" | "filled") — Rettangoli, ellissi, poligoni e curve chiuse: contorno o riempiti.
    • cornerRadius (an integer 0–1024 for every corner, or a list of four { topLeft, topRight, bottomRight, bottomLeft }) — Rettangolo: raggi degli angoli in pixel, in senso orario dall'alto a sinistra (0 = angolo vivo), ciascuno limitato alla metà del lato più corto.
    • selectionCornerRadius (an integer 0–1024 for every corner, or a list of four { topLeft, topRight, bottomRight, bottomLeft }) — Selezione rettangolare: raggi degli angoli in pixel, in senso orario dall'alto a sinistra (0 = angolo vivo).
    • cornerRadiusLinked (boolean) — La barra delle opzioni dello strumento modifica insieme tutti e quattro i raggi degli angoli (un solo campo Raggio) invece di un campo per angolo.
    • lineWidth (integer 1–64) — Strumenti Linea e Curva: spessore in pixel (1 = linea netta di 1px); le linee più larghe hanno estremità arrotondate.
    • curvePixelPerfect (boolean) — Strumento Curva: rimuove gli angoli a L che una curva di 1px raccoglie, per linee pixel art pulite.
    • bucketFillMode (BucketFillMode: "contiguous" | "global") — Riempimento: solo la regione connessa, o ogni pixel corrispondente.
    • bucketTolerance (integer 0–255) — Riempimento: la massima differenza per canale che conta ancora come lo stesso colore.
    • bucketCloseGap (integer 0–5) — Riempimento (contiguo): considera chiusi i varchi nel contorno larghi fino a questo numero di pixel, così il riempimento non ci passa attraverso. 0 = disattivato.
    • bucketDiagonal (boolean) — Riempimento (contiguo): si estende anche ai vicini diagonali (8-connessi), così la regione trabocca attraverso le linee diagonali di 1px.
    • bucketStopAtGrid (boolean) — Riempimento: limita la regione alla cella della griglia in cui cade il clic.
    • bucketPattern (FillPattern: "solid" | "checker" | "dither25" | "dither75" | "hstripes" | "vstripes" | "diagonal" | "grid" | "dots" | "bricks") — Riempimento: dipinge un motivo ripetuto a due colori (il colore di riempimento e l'altro tra primo piano/sfondo) invece di un colore pieno. "solid" = nessun motivo.
    • wandFillMode (BucketFillMode: "contiguous" | "global") — Bacchetta magica: solo la regione connessa, o ogni pixel corrispondente. Distinta da bucketFillMode del riempimento.
    • wandTolerance (integer 0–255) — Bacchetta magica: la massima differenza per canale che conta ancora come lo stesso colore. Distinta da bucketTolerance del riempimento.
    • wandDiagonal (boolean) — Bacchetta magica (contigua): si estende anche ai vicini diagonali (8-connessi), così la regione trabocca attraverso le linee diagonali di 1px.
    • wandStopAtGrid (boolean) — Bacchetta magica: limita la regione alla cella della griglia in cui cade il clic.
    • sprayRate (integer 1–64) — Spray: punti per ogni punto.
    • scatterX (integer 0–64) — Dispersione: quanto lontano ogni stampo può cadere a sinistra o a destra del percorso, in pixel.
    • scatterY (integer 0–64) — Dispersione: quanto lontano ogni stampo può cadere sopra o sotto il percorso, in pixel.
    • scatterCount (integer 1–16) — Dispersione: stampi posizionati a ogni passo lungo il percorso.
    • blurStrength (integer 1–4) — Sfocatura: raggio dell'intorno in pixel.
    • jumbleStrength (integer 0–100) — Mescola: probabilità percentuale che ogni pixel toccato venga rimescolato.
    • dodgeBurnStrength (integer 1–100) — Scherma/Brucia: di quanto si sposta la luminosità OKLCH di ogni pixel toccato (100 = metà del percorso da nero a bianco).
    • dodgeBurnHueShift (integer 0–60) — Scherma/Brucia: gradi di cui la tonalità OKLCH di ogni pixel toccato ruota verso il giallo caldo (scherma) o il blu freddo (brucia), mai oltre; 0 mantiene la tonalità.
    • ditherPattern (DitherPattern: "bayer2" | "bayer4" | "bayer8" | "dots" | "lines-h" | "lines-v" | "diagonal" | "noise") — Pennello dithering: il motivo ordinato con cui dipinge. I motivi si ripetono a partire dall'angolo in alto a sinistra dello sprite, quindi i tratti si allineano.
    • ditherDensity (integer 0–100) — Pennello dithering: la quota di pixel del motivo che dipinge, in percentuale (50 con bayer2 è una scacchiera).
    • gradientType (GradientType: "linear" | "radial") — Gradiente: una rampa dritta tra i punti, oppure che si irradia dal punto iniziale.
    • gradientDithering (GradientDithering: "none" | "bayer2" | "bayer4" | "bayer8" | "dots" | "lines-h" | "lines-v" | "diagonal" | "noise") — Gradiente: il motivo di dithering ordinato (none = rampa uniforme).
    • gradientSnap (GradientSnap: "free" | "palette") — Gradiente: sfumature libere, oppure solo colori della palette (ogni pixel prende il colore di palette più vicino; il dithering alterna colori di palette vicini).
    • gradientColors (GradientColors: "fg-bg" | "stops") — Gradiente: va dal colore di primo piano a quello di sfondo, oppure lungo gradientStops ("stops"; con meno di due punti ripiega su primo piano e sfondo).
    • gradientStops (a list of { color, position } (position 0-1, in order), or a list of colors spread evenly) — Gradiente: la rampa a più punti dal punto iniziale, come voci { color, position } (position 0-1, in ordine; due nella stessa posizione fanno un bordo netto). Un semplice elenco di colori viene distribuito in modo uniforme. Usato quando gradientColors è "stops"; la barra Punti dell'editor lo modifica.
    • eyedropperSource (EyedropperSource: "composite" | "layer") — Contagocce: campiona ciò che mostra la tela, oppure solo il livello attivo.
    • tileIndex (integer ≥ 0) — Timbro tile: il tile da posizionare, a base 1 (0 = il tile vuoto).
    • tileFlipH (boolean) — Timbro tile: capovolge orizzontalmente i tile posizionati.
    • tileFlipV (boolean) — Timbro tile: capovolge verticalmente i tile posizionati.
    • tileRotate90 (boolean) — Timbro tile: ruota di 90° in senso orario i tile posizionati.
    • tilePlace (boolean) — Posiziona tile: su un livello tilemap, matita, gomma, linea, strumenti forma e secchiello posizionano il tile del timbro (lo cancellano, per la gomma) sulle celle che coprono invece di dipingere pixel.
    • isoShape (IsoShape: "box" | "ramp" | "stairs" | "pyramid" | "prism" | "cylinder" | "cone" | "sphere" | "dome") — Strumento Forma iso: il solido che disegna.
    • isoWidth (integer 1–1024) — Strumento Forma iso: impronta lungo x (in basso a destra), in unità iso (una riga della scalinata del bordo ciascuna).
    • isoDepth (integer 1–1024) — Strumento Forma iso: impronta lungo y (in basso a sinistra), in unità iso.
    • isoHeight (integer 0–1024) — Strumento Forma iso: altezza in pixel (0 = piatto).
    • isoBevel (integer 0–1024) — Strumento Forma iso: solo per i box, di quanti pixel vengono smussati i bordi superiori (0 = vivo).
    • isoCap (integer 2–4) — Strumento Forma iso: il tratto piatto ai vertici superiore e inferiore, 2 (pari), 3 (dispari) o 4 (multipli di quattro). È anche il passo di trascinamento W / D (2 unità con cap 4).
    • isoStyle (IsoShapeStyle: "filled" | "outline" | "filled-outline") — Strumento Forma iso: facce, contorno, oppure entrambi.
    • isoHiddenEdges (boolean) — Strumento Forma iso: disegna anche i bordi dietro il solido.
    • isoDirection (IsoDirection: "+x" | "-x" | "+y" | "-y") — Strumento Forma iso: in che direzione scende una rampa o una scala, oppure verso dove sono rivolte le pendenze di un prisma.
    • isoAutoShade (boolean) — Strumento Forma iso: ricava i cinque colori dal colore di primo piano lungo shades (true), oppure usa isoColors (false).
    • isoColors (a list of colors ("#rrggbb[aa]" or { r, g, b, a }), in order) — Strumento Forma iso: i colori usati quando isoAutoShade è disattivato, in ordine contorno, bordo interno, alto, sinistra, destra.

Non restituisce nulla.

app.swapColors() — modifica

Scambia i colori di primo piano e di sfondo (la X dell'interfaccia).

Non restituisce nulla.

In Markdown: context.md.