Nota: Esto lo pensé antes de leer tu nuevo mensaje.
A ver, hay un espacio X de 512 y se quieren colocar 2 cartas así:
E C E C E
Cada espacio E debe medir 512/(cartas*2+1).
Ejemplo si fuese 500
100 100 100 100 100
Cada carta se coloca en Nro de carta*2*E+1
No pero
Carta 0 va en 100, o sea 0*E*2+E
Carta 1 va en 300: 1*E*2+E
Pero al colocar las cartas hay que sumarle 50 ¿o no?
eee ece
Pruebo.
Con esto:
LargoDeEspacios = 512/(CartasDeHumano.length*2+1);
NroDeCartaaMostrar = 0;
do {
NombreDeCarta = "CartaDeHumano"+CartasDeHumano[NroDeCartaaMostrar];
attachMovie ("sCarta", NombreDeCarta, NroDeCartaaMostrar);
setProperty (NombreDeCarta, _x, NroDeCartaaMostrar*LargoDeEspacios*2+LargoDeEspacios+50);La 1era vez, cuando hay 2 cartas, está bien, pero luego la carta más a la derecha queda muy al extremo comparado con la izquierda.
A ver...
En un espacio de 600 para 3 cartas debería ser
0 150 200 350 400 550 600
esas serían las ubicaciones de
E C E C E C E
Van aumentando de a 200. Y yo puse
NroDeCartaaMostrar*LargoDeEspacios*2+LargoDeEspacios+50);[/code]
Aumenta de a LargoDeEspacios*2, está bien.
¿El problema es el +50, no siempre corresponde?
Puse que en el programa la pantalla mida 600, por probar. Los valores son
LargoDeEspacios: 120
170
410
Con 3 cartas
LargoDeEspacios: 85.7142857142857
135.7
307.1
478.55
Esos números no parecen tener sentido.
LargoDeEspacios = 600/(CartasDeHumano.length*2+1);
LargoDeEspacios = 600/(3*2+1);
No, entonces no me conviene poner 600 sino 700, debe ser
0123456
No, pero...
ECECECE
Claro, el último espacio no se coloca en 600, por eso necesito 700.
Con 3 cartas es
LargoDeEspacios: 100
150
350
550
¡está bien! Pero creo que esta vez con 2 cartas quedó mal, y con más de 3 seguro, sigue mal ¿por qué? Parece que sólo funciona con ciertas combinaciones de largo de pantalla y cantidad de cartas, lo cual no parecer tener sentido.
A ver, con 2 si la pantalla fuese 500 sería
0 150 200 350 400
La carta 0 va en LargoDeEspacios+50
La 1 en LargoDeEspacios*3+50
Con 2 si la pantalla fuese 700 sería
0 150 200 350 400 550 600
La carta 0 va en LargoDeEspacios+50
La 1 en LargoDeEspacios*3+50
La 2 en LargoDeEspacios*5+50
La fórmula es la misma ¿por qué no siempre funciona? Es muy raro.
El ancho de la carta es 50 no? , no 100 y el punto de inserción esta al medio
El ancho es 100.
Creo que ya entiendo por qué falla lo que puse, no se tiene en cuenta lo que ocupa la carta más allá del límite. Quizá es eso.
Pongamos que la pantalla fuese 400, con 3 cartas queda
0 150 200 350 400
si fuese 200
0 100 100 200 200
o sea... sí, parece eso, la de la izquierda empezaría donde termina la pantalla. Está mal. Es como que la pantalla disponible fuese dependiente de la cantidad de cartas.