Script
Ambersprite ha una piccola console JavaScript per il lavoro ripetitivo sui pixel. Aprila con Modifica ▸ 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#
| Funzione | Descrizione |
|---|---|
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. |
| Valore | Descrizione |
|---|---|
width, height | Dimensione della tela. |
layerCount, frameCount | Conteggi. |
layerIndex, frameIndex | Indici attivi. |
layerName | Nome 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);