A Ambersprite
ENTRDEFRESITPTRUJA

Scripts

Ambersprite tiene una pequeña consola JavaScript para el trabajo repetitivo con píxeles. Ábrela con Edición ▸ Scripts.

La hoja Script
La hoja Script

Escribe un script, toca Ejecutar. Pinta en la capa + fotograma activo y se confirma como un solo paso de deshacer llamado «Script». Borrar vacía el editor.

API#

FunciónDescripción
setPixel(x, y, r, g, b, a)Definir el píxel en (x, y) a un color RGBA (0–255 cada uno).
getPixel(x, y)Devuelve [r, g, b, a] del píxel.
fill(x, y)Relleno por difusión desde (x, y) con el color de primer plano actual, respetando los ajustes contiguo / tolerancia / tramado de la herramienta.
fg(r, g, b, a)Definir el color de primer plano.
setLayer(index)Cambiar la capa activa.
setFrame(index)Cambiar el fotograma activo.
newLayer()Añadir una capa.
command("name")Ejecutar un comando de atajo de teclado por nombre ("undo", "flipH", "play", …).
log(message)Escribir en el área de salida.
ValorDescripción
width, heightTamaño del lienzo.
layerCount, frameCountRecuentos.
layerIndex, frameIndexÍndices activos.
layerNameNombre de la capa activa.

setPixel y fill siempre apuntan a la capa + fotograma que estaba activo cuando se pulsó «Ejecutar»: llamar a setLayer() / setFrame() a mitad del script cambia la selección activa para la siguiente ejecución, no el objetivo de pintura actual. Para rellenar varias capas, selecciona cada una en la línea de tiempo y ejecuta su propio script.

Ejemplos#

Dibujar un damero:

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);

Rellenar una región delimitada con el color de primer plano:

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

Función auxiliar para rectángulos rellenos:

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);