El tamaño de la pantalla siempre es 384*384, lo que cambia es el tamaño son las imágenes (entre más sean menos debe ocupar cada una, podrían ser 4, 9, 16...) y de los cuadraditos (entre más imágenes deba haber, y mientras más cuadraditos deba tenga cada una, más pequeños deben ser).
¿A qué llamas u y v? ¿a la cantidad de dibujos en horizontal y vertical?
Me cuesta mucho entenderte... ¿H y V son constantes que no es necesario que calcule, sólo es parte de la explicación?
Voy a probar esto que sería lo que interpreto de lo que dijiste:
Contador = 0
Repetir
Contador++
La posición X de la imagen nro (Contador) es: Resto(Contador/ImagenesPorFila)*(CuadraditosPorLado+1)
La posición Y de la imagen nro (Contador) es: RedondearHaciaArriba(Contador/ImagenesPorFila)*(CuadraditosPorLado+1)
mientras Contador<Imagenes
Si falla arriba pruebo abajo.
Probablemente cometi algún error, me da esto:
La imagen 1 se colocará en X: 68
Resto: 1
La imagen 1 se colocará en Y: 4
La imagen 2 se colocará en X: 64
Resto: 0
La imagen 2 se colocará en Y: 4
La imagen 3 se colocará en X: 68
Resto: 1
La imagen 3 se colocará en Y: 8
La imagen 4 se colocará en X: 64
Resto: 0
La imagen 4 se colocará en Y: 8
Las posiciones X están fuera de la pantalla y entre las Y hay demasiada poca diferencia, quizá no expliqué bien el problema.
El código que puse fue:
// Agregar y distribuir cuadros:
CuadrosColocados = 0;
do {
CuadrosColocados++;
// Esto coloca la imagen, está bien:
attachMovie("mCuadro", "Dibujo"+CuadrosColocados, CuadrosColocados);
trace ("La imagen "+CuadrosColocados+" se colocará en X: "+(64+(CuadrosColocados%CuadrosdeLargo)*(PixelesdeLargo+1)));
setProperty ("Dibujo"+CuadrosColocados, _x, 64+(CuadrosColocados%CuadrosdeLargo)*(PixelesdeLargo+1));
trace ("Resto: "+CuadrosColocados%CuadrosdeLargo);
trace ("La imagen "+CuadrosColocados+" se colocará en Y: "+Math.ceil(CuadrosColocados/CuadrosdeLargo)*(PixelesdeLargo+1));
setProperty ("Dibujo"+CuadrosColocados, _y, Math.ceil(CuadrosColocados/CuadrosdeLargo)*(PixelesdeLargo+1));
} while (CuadrosColocados<MaxPosiciondePuntero);
Edit: Ya lo logré, aquí son:
PixelesdeLargo = 9;
CuadrosdeLargo = 8;
Tengo que mejorar el nombre de varias cosas:
// Cuadraditos por fila y columna de cada dibujo:
PixelesdeLargo = 9;
// Dibujos por fila y columna de la pantalla:
CuadrosdeLargo = 8;
// Largo de los cuadraditos:
DistanciaEntrePixeles = 384/(PixelesdeLargo*CuadrosdeLargo+CuadrosdeLargo-1);
LargoDeCuadros = PixelesdeLargo*DistanciaEntrePixeles;
MaxPosiciondePuntero = CuadrosdeLargo*CuadrosdeLargo;
// Agregar y distribuir cuadros:
CuadrosColocados = 0;
Columna = 0;
Fila = 0;
do {
CuadrosColocados++;
attachMovie("mCuadro", "Dibujo"+CuadrosColocados, CuadrosColocados);
setProperty ("Dibujo"+CuadrosColocados, _x, 64+LargoDeCuadros*Columna+Columna*DistanciaEntrePixeles);
setProperty ("Dibujo"+CuadrosColocados, _y, LargoDeCuadros*Fila+Fila*DistanciaEntrePixeles);
Columna = Columna+1;
if (Columna == CuadrosdeLargo) {
Columna = 0;
Fila = Fila+1;
}
} while (CuadrosColocados<MaxPosiciondePuntero);
Tenía más errores de los que puedo recordar o entender xP
Veo que entre algunos cuadraditos hay una línea que no debería estar, intentaré arreglar eso más adelante.