actions for fotograma 1
PixelesdeLargo = 1;
// En F3 se repite:
function Variar () {
PixelaModificar = "ColordePixel"+Puntero;
ColordePixelaModificar = eval(PixelaModificar);
// ¿El pixel puede cambiar de color?
if (ColordePixelaModificar<1) {
// Sí, hacer los cambios:
set (PixelaModificar, ColordePixelaModificar+1);
Col = new Color("Pixel"+Puntero);
Col.setRGB(parseInt(0, 16));
trace ("Se pintó el pixel "+PixelaModificar);
// Para juzgar: ¿El dibujo es repetido?
SumadePintados = SumadePintados+1;
// ¿El píxel está en el extremo derecho o abajo, donde no había en una hoja más chica?
if (Puntero/PixelesdeLargo == Math.floor(Puntero/PixelesdeLargo) or Puntero>MinPixelInferior) {
// Sí, actualizar SumadePintadosNuevos:
SumadePintadosNuevos = SumadePintadosNuevos+1;
}
trace ("SumadePintadosNuevos: "+SumadePintadosNuevos);
// ¿El dibujo tiene píxeles donde no había en una hoja más chica...
// y son al menos (PixelesdeLargo) píxeles?
if (SumadePintadosNuevos>0 && SumadePintados>=MinSumadePintados) {
// Sí, hacer dibujo y dar tiempo para verlo:
Puntero = MaxPosiciondePuntero;
trace ("\tMostrando dibujo.");
// trace ("SumadePintados: "+SumadePintados);
trace ("SumadePintadosNuevos: "+SumadePintadosNuevos);
play ();
} else {
// No, el dibujo es repetido, no mostrarlo y hacer otro:
Puntero = MaxPosiciondePuntero;
trace ("\tRepetido, salteándolo.");
// trace ("SumadePintados: "+SumadePintados);
trace ("SumadePintadosNuevos: "+SumadePintadosNuevos);
Variar();
}
} else {
// El pixel no puede cambiar de color, resetearlo:
set (PixelaModificar, 0);
Col = new Color("Pixel"+Puntero);
Col.setRGB(parseInt("FFFFFF", 16));
trace ("Se reseteó el pixel "+PixelaModificar);
SumadePintados = SumadePintados-1;
// ¿El píxel está en el extremo derecho o abajo, donde no había en una hoja más chica?
if (Puntero/MaxPosiciondePuntero == Math.floor(Puntero/MaxPosiciondePuntero) or Puntero>=MinPixelInferior) {
// Sí, actualizar SumadePintadosNuevos:
SumadePintadosNuevos = SumadePintadosNuevos-1;
}
trace ("SumadePintadosNuevos: "+SumadePintadosNuevos);
// ¿Hay un pixel anterior?
if (Puntero>1) {
// Sí, apuntar a ese:
Puntero = Puntero-1;
// Continuar haciendo el dibujo:
trace ("\tHaciendo dibujo, apuntando al pixel anterior.");
// trace ("SumadePintados: "+SumadePintados);
trace ("SumadePintadosNuevos: "+SumadePintadosNuevos);
Variar();
} else {
// No, aumentar tamaño de hoja y reiniciar.
gotoAndPlay (2);
}
}
}
actions for fotograma 2
PixelesdeLargo = PixelesdeLargo+1;
// Colocados:
Pixeles = 0;
DistanciaEntrePixeles = 384/PixelesdeLargo;
PosicionX = 64-DistanciaEntrePixeles;
EnlaFilaActual = 0;
PosicionY = 0;
MaxPosiciondePuntero = PixelesdeLargo*PixelesdeLargo;
Puntero = MaxPosiciondePuntero;
// Píxeles pintados:
SumadePintados = 0;
// Esta variable parece eliminable pero antes era-1,
// y podría ser que deba aumentar en ciertos casos:
MinSumadePintados = PixelesdeLargo;
MinPixelInferior = PixelesdeLargo*(PixelesdeLargo-1);
// Píxeles pintados que no estaban en hojas de menos píxeles:
SumadePintadosNuevos = 0;
// Agregar píxeles en blanco:
do {
Pixeles = Pixeles+1;
if (EnlaFilaActual<PixelesdeLargo) {
EnlaFilaActual = EnlaFilaActual+1;
PosicionX = PosicionX+DistanciaEntrePixeles;
} else {
PosicionX = 64;
EnlaFilaActual = 1;
PosicionY = PosicionY+DistanciaEntrePixeles;
}
trace ("El pixel "+Pixeles+" se colocó en "+PosicionX+", "+PosicionY);
attachMovie("mPixel", "Pixel"+Pixeles, Pixeles);
setProperty ("Pixel"+Pixeles, _x, PosicionX);
setProperty ("Pixel"+Pixeles, _y, PosicionY);
setProperty ("Pixel"+Pixeles, _width, DistanciaEntrePixeles);
setProperty ("Pixel"+Pixeles, _height, DistanciaEntrePixeles);
} while (Pixeles<MaxPosiciondePuntero);
stop ();
actions for fotograma 3
stop ();
actions for Vacío
onClipEvent (enterFrame) {
_level0.Variar();
}
actions for fotograma 4
stop ();
actions for fotograma 5
gotoAndPlay (3);