Skripte
Ambersprite hat eine kleine JavaScript-Konsole für wiederkehrende Pixelarbeit. Öffne sie mit Bearbeiten ▸ Skripte.

Tippe ein Skript, tippe auf Ausführen. Es malt in die aktive Ebene + Frame und wird als ein einziger Rückgängig-Schritt namens „Script" festgelegt. Löschen leert den Editor.
API#
| Funktion | Beschreibung |
|---|---|
setPixel(x, y, r, g, b, a) | Das Pixel bei (x, y) auf eine RGBA-Farbe setzen (je 0–255). |
getPixel(x, y) | Gibt [r, g, b, a] des Pixels zurück. |
fill(x, y) | Flutfüllung von (x, y) mit der aktuellen Vordergrundfarbe, unter Beachtung der Einstellungen Zusammenhängend / Toleranz / Dithering des Werkzeugs. |
fg(r, g, b, a) | Die Vordergrundfarbe setzen. |
setLayer(index) | Die aktive Ebene wechseln. |
setFrame(index) | Den aktiven Frame wechseln. |
newLayer() | Eine Ebene hinzufügen. |
command("name") | Einen Tastaturkürzel-Befehl per Name ausführen ("undo", "flipH", "play", …). |
log(message) | In den Ausgabebereich schreiben. |
| Wert | Beschreibung |
|---|---|
width, height | Leinwandgröße. |
layerCount, frameCount | Anzahlen. |
layerIndex, frameIndex | Aktive Indizes. |
layerName | Name der aktiven Ebene. |
setPixel und fill zielen immer auf die Ebene + den Frame, die aktiv waren, als „Ausführen" gedrückt wurde — setLayer() / setFrame() mitten im Skript aufzurufen ändert die aktive Auswahl für den nächsten Lauf, nicht das aktuelle Malziel. Um mehrere Ebenen zu füllen, wähle jede in der Zeitleiste aus und führe ihr eigenes Skript aus.
Beispiele#
Ein Schachbrett zeichnen:
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);
Eine umrissene Region mit der Vordergrundfarbe füllen:
fg(230, 120, 60, 255);
fill(width / 2, height / 2);
log("done");
Hilfsfunktion für gefüllte Rechtecke:
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);