A Ambersprite
ENTRDEFRESITPTRUJA

Script

Ambersprite ha una piccola console JavaScript per il lavoro ripetitivo sui pixel. Aprila con Modifica ▸ Script.

Il pannello Script
Il pannello Script

Digita uno script, tocca Esegui. Dipinge nel livello + frame attivo e si conferma come un unico passo di annullamento chiamato «Script». Cancella svuota l'editor.

API#

FunzioneDescrizione
setPixel(x, y, r, g, b, a)Impostare il pixel in (x, y) a un colore RGBA (0–255 ciascuno).
getPixel(x, y)Restituisce [r, g, b, a] del pixel.
fill(x, y)Riempimento a diffusione da (x, y) con il colore di primo piano attuale, rispettando le impostazioni contiguo / tolleranza / dithering dello strumento.
fg(r, g, b, a)Impostare il colore di primo piano.
setLayer(index)Cambiare il livello attivo.
setFrame(index)Cambiare il frame attivo.
newLayer()Aggiungere un livello.
command("name")Eseguire un comando di scorciatoia da tastiera per nome ("undo", "flipH", "play", …).
log(message)Scrivere nell'area di output.
ValoreDescrizione
width, heightDimensione della tela.
layerCount, frameCountConteggi.
layerIndex, frameIndexIndici attivi.
layerNameNome del livello attivo.

setPixel e fill puntano sempre al livello + frame che era attivo quando è stato premuto «Esegui» — chiamare setLayer() / setFrame() a metà script cambia la selezione attiva per l'esecuzione successiva, non l'obiettivo di pittura attuale. Per riempire più livelli, seleziona ognuno nella timeline ed esegui il suo script.

Esempi#

Disegnare una scacchiera:

for (var y = 0; y < height; y++)
  for (var x = 0; x < width; x++)
    if ((x + y) % 2 === 0) setPixel(x, y, 40, 40, 60, 255);

Riempire una regione delimitata con il colore di primo piano:

fg(230, 120, 60, 255);
fill(width / 2, height / 2);
log("done");

Funzione di supporto per rettangoli pieni:

function rect(x0, y0, x1, y1, r, g, b) {
  for (var y = y0; y <= y1; y++)
    for (var x = x0; x <= x1; x++) setPixel(x, y, r, g, b, 255);
}
rect(4, 4, 12, 20, 60, 122, 204);