Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/09/2007, 11:26
soasti
 
Fecha de Ingreso: julio-2003
Mensajes: 100
Antigüedad: 21 años, 4 meses
Puntos: 0
Llamar a un array dinamicamente

Saludos a todos, estoy armando un rompecabezas con fichas giratorias, hay fichas similares que se pueden poner en diferentes posiciones. Entonces dentro de cada ficha defini dos arrays :
Código:
//este le dice en que posicion puede ir
var las_posiciones:String = "p1,p2"; 
	var posiciones:Array = las_posiciones.split(",");

// y este le dice el ángulo correcto
var las_permitidas_p1:String = "30,-150"; 
	var permitidas_p1:Array = las_permitidas_p1.split(",");

var las_permitidas_p2:String = "90,-90"; 
	var permitidas_p2:Array = las_permitidas_p2.split(",");
y lo que estoy haciendo es verificar si la ficha esta haciendo hitTest con alguna de las dos posiciones:
Código:
while (contPosiciones < cual.posiciones.length & cual.choco!=true) {
			var conCual=cual.posiciones[contPosiciones];
			if (cual.centro.hitTest(this[conCual])){
				cual.choco=true;
				trace('chocó con='+conCual); // el resultado es p1 o p2 dependiendo con cual esta haciendo el hitTest
				}
			contPosiciones++;
		}
Ahora viene la parte que no se resolverla, porque si la ficha chocó con la posición p1 los angulos correctos son 30,-150 pero si chocó con la posición p2 son 90,-90

Si solo tendría que ponerse en una posicion entonces haría esto:
Código:
while (contRotaciones < cual.permitidas_p1.length & cual.rotacion!=true) {
		rotaciones=cual.permitidas_p1[contRotaciones];
		trace('rotaciones= '+rotaciones);
cual.permitidas[contRotaciones] <= anguloCual+15) {
		if (rotaciones >= anguloCual-15 & rotaciones <= anguloCual+15) {
			anguloPermitido=rotaciones;
			trace('anguloPermitido='+anguloPermitido); // el ángulo correcto, es decir encuentra si es 30 o -150 
			cual.rotacion=true;
			}
		contRotaciones++;
		}
Lo que intento hacer es que escoja que array debe validar para encontrar los ángulos si el cual.permitidas_p1 o el cual.permitidas_p2

intententé esto pero la sintaxis no está bien. Donde el contenido de conCual es = a p1 ó p2 según el caso

Código:
while (contRotaciones < cual.permitidas_+conCual+.length & cual.rotacion!=true) {
y aqui viene la pregunta, como le hago para que encuentre los valores del array al que estoy llamando dinamicamente

si el valor de conCual=p1 entonces llame al array cual.permitidas_p1
si el valor de conCual=p2 entonces llame al array cual.permitidas_p2 y asi sucesivamente

Gracias por sus sugerencias

Slds
FS

Última edición por soasti; 13/09/2007 a las 11:38