Foros del Web » Creando para Internet » Flash y Actionscript »

Llamar a un array dinamicamente

Estas en el tema de Llamar a un array dinamicamente en el foro de Flash y Actionscript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 13/09/2007, 12:26
 
Fecha de Ingreso: julio-2003
Mensajes: 100
Antigüedad: 14 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 12:38
  #2 (permalink)  
Antiguo 13/09/2007, 14:57
Avatar de sheshu  
Fecha de Ingreso: abril-2006
Ubicación: En too el medio
Mensajes: 160
Antigüedad: 11 años, 8 meses
Puntos: 0
Re: Llamar a un array dinamicamente

hola

la línea
Código:
while (contRotaciones < cual.permitidas_+conCual+.length & cual.rotacion!=true) {
sería algo así

Código:
while (contRotaciones < cual["permitidas_"+conCual].length & cual.rotacion!=true) {
weno, creo,
un saludo,

sheshu
__________________
sheshu ::: www.tutoriales-flash.com
  #3 (permalink)  
Antiguo 13/09/2007, 17:49
 
Fecha de Ingreso: julio-2003
Mensajes: 100
Antigüedad: 14 años, 4 meses
Puntos: 0
Re: Llamar a un array dinamicamente

genial muchas gracias por tu ayuda era lo que faltaba.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:02.