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

Asignacion erronea de valores desde un array

Estas en el tema de Asignacion erronea de valores desde un array en el foro de Flash y Actionscript en Foros del Web. Hola: Quizá el problema es obvio, pero ya llevo horas y no veo la solución. Desde un XML leo los datos de cada nodo y ...
  #1 (permalink)  
Antiguo 05/03/2008, 22:26
 
Fecha de Ingreso: febrero-2005
Mensajes: 135
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta Asignacion erronea de valores desde un array

Hola:

Quizá el problema es obvio, pero ya llevo horas y no veo la solución.

Desde un XML leo los datos de cada nodo y los guardo en una matriz. Los datos que ahora me interesa rescatar se guardan en una matriz llamada URLS.

Los datos en la matriz se guardan bien, el problema surge cuando estos datos los quiero asignar a sus respectivos movieclips. La matriz contiene 11 objetos.

La función que uso es esta:
Código PHP:

function funcionesMenu() {
    for (
i=0i<longi++){
        var 
vinculo:String urls[i];
        var 
posicion:Number i;
        
trace(i+" "+vinculo);// imprime: 0 valor0 / 1 valor 0 / ... / 10 valor10
        
menuRotatorio["monitor"+i].onRelease = function() {
            
getURL(vinculo"_blank");
            
trace("urls: "+urls[posicion]); // valor10
            
trace("vinculo2: "+vinculo); // valor10
            
trace("valor i: "+i); // 11 (objetos en el arreglo, no posicion)
            
trace(this); // _level0.menuRotatorio.(MC presionado)
        
}
    }


Lo que ocurre es que a cada movieClip le asigna el mismo valor!!
Es decir:
MovieClip0 = matrizURLS[10]
MovieClip1 = matrizURLS[10]
...
MovieClip10 = matrizURLS[10]

Debería de asignar a cada movieClip un valor correspondiente a la posicion de la matriz.

Ejemplo:
MovieClip0 = matrizURLS[0]
MovieClip1 = matrizURLS[1]
...
MovieClip10 = matrizURLS[10]

Gracias de antemano.
  #2 (permalink)  
Antiguo 06/03/2008, 04:31
Avatar de ganCT  
Fecha de Ingreso: enero-2008
Ubicación: Vigo
Mensajes: 78
Antigüedad: 9 años, 10 meses
Puntos: 0
Re: Asignacion erronea de valores desde un array

Prueba esto:

for (i=0; i<long; i++){
this.i = i;
var vinculo:String = urls[this.i];
var posicion:Number = this.i;
menuRotatorio["monitor"+this.i].onRelease = function() {

...
  #3 (permalink)  
Antiguo 06/03/2008, 13:03
 
Fecha de Ingreso: febrero-2005
Mensajes: 135
Antigüedad: 12 años, 9 meses
Puntos: 0
Re: Asignacion erronea de valores desde un array

Gracias,

Ya quedó resuelto.

El problema era que estaba guardandose en la variable el último valor del ciclo.
Se necesitaba de una nueva variable que guarde los datos para cada MC.

La forma correcta es esta:

Código PHP:
function funcionesMenu() {
    for (
i=0i<longi++){
        
menuRotatorio["monitor"+i].miVinculo urls[i]; //una variable para c/MC
        
menuRotatorio["monitor"+i].onRelease = function() {
            
getURL(this.miVinculo"_blank");
        }

Saludos.
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 08:59.