Betikler
Ambersprite'ın tekrarlayan piksel işleri için küçük bir JavaScript konsolu var. Düzen ▸ Betikler ile açın.

Bir betik yazın, Çalıştır'a dokunun. Etkin katman + kareye boyar ve "Betik" adlı tek bir geri alma adımı olarak sabitler. Temizle, düzenleyiciyi boşaltır.
API#
| İşlev | Açıklama |
|---|---|
setPixel(x, y, r, g, b, a) | (x, y) konumundaki pikseli bir RGBA rengine ayarla (her biri 0–255). |
getPixel(x, y) | Pikselin [r, g, b, a] değerini döndürür. |
fill(x, y) | (x, y)'den geçerli ön plan rengiyle, aracın bitişik / tolerans / tramlama ayarlarını gözeterek taşkın doldurma yapar. |
fg(r, g, b, a) | Ön plan rengini ayarla. |
setLayer(index) | Etkin katmanı değiştir. |
setFrame(index) | Etkin kareyi değiştir. |
newLayer() | Bir katman ekle. |
command("name") | Bir klavye kısayolu komutunu ada göre çalıştır ("undo", "flipH", "play", …). |
log(message) | Çıktı alanına yaz. |
| Değer | Açıklama |
|---|---|
width, height | Tuval boyutu. |
layerCount, frameCount | Sayılar. |
layerIndex, frameIndex | Etkin indeksler. |
layerName | Etkin katman adı. |
setPixel ve fill her zaman Çalıştır'a basıldığında etkin olan katman + kareyi hedefler — betik ortasında setLayer() / setFrame() çağırmak, geçerli boya hedefini değil sonraki çalıştırma için etkin seçimi değiştirir. Birkaç katmanı doldurmak için her birini zaman çizelgesinde seçin ve kendi betiğini çalıştırın.
Örnekler#
Bir dama tahtası çiz:
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);
Dış çizgili bir bölgeyi ön plan rengiyle doldur:
fg(230, 120, 60, 255);
fill(width / 2, height / 2);
log("done");
Dolgulu dikdörtgenler için yardımcı:
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);