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

Problema con arreglos

Estas en el tema de Problema con arreglos en el foro de Flash y Actionscript en Foros del Web. Buenas noches. Tengo este código en un .as (cliploader.as) que controla la descarga de audios, de varias diapositivas: mp3=function(arreglo) { onEnterFrame = function() { if(avance ...
  #1 (permalink)  
Antiguo 21/11/2011, 22:39
 
Fecha de Ingreso: noviembre-2011
Ubicación: Bogotá, Colombia
Mensajes: 3
Antigüedad: 13 años
Puntos: 0
Exclamación Problema con arreglos

Buenas noches.

Tengo este código en un .as (cliploader.as) que controla la descarga de audios, de varias diapositivas:

mp3=function(arreglo) {
onEnterFrame = function() {
if(avance != avanceTemp){
this[arreglo[avance]] = new Sound();
this[arreglo[avance]].loadSound("audio/"+arreglo[avance]+".mp3",false);
this[arreglo[avance]+"_loaded"] = false;
this[arreglo[avance]+"_played"] = false;
avanceTemp = avance;
}
total_s = this[arreglo[avance]].getBytesTotal();
cargado_s = this[arreglo[avance]].getBytesLoaded();
if(total_s == cargado_s){
this[arreglo[avance]+"_loaded"] = true;
if(avance < (arreglo.length -1) ){
avance ++;
}
}


En cada una de las diapositivas, el llamado a la función se hace así:

#include "cliploader.as"
_root.miArray = ["m0_001a","m0_001b"];

Si publico la diapositiva que tiene este código, funciona perfecto y me hace el llamado secuencial de los audios....

EL PROBLEMA ES QUE CADA UNA DE ESAS DIAPOSITIVAS ESTÁN SIENDO INVOCADAS POR UNA PLANTILLA, QUE LAS DEPOSITA EN UN CONTENEDOR Y SI PUBLICO ESA PLANTILLA YA NO FUNCIONA EL AUDIO EN NINGUNA DIAPOSITIVA.

SÉ QUE EL PROBLEMA ES EL ENRUTAMIENTO, PERO NO SÉ CÓMO ARREGLARLO.

MUCHAS GRACIAS SI ALGUIEN PUEDE AYUDARME...
  #2 (permalink)  
Antiguo 21/11/2011, 22:41
 
Fecha de Ingreso: noviembre-2011
Ubicación: Bogotá, Colombia
Mensajes: 3
Antigüedad: 13 años
Puntos: 0
Respuesta: Problema con arreglos

Creo que será mejor si coloco todo el código, en el caso de que el problema no radique en donde yo pienso...

sonidoreproductor = new Sound();
avance = 0;
avanceTemp = -1;
pass = true;
arr = 0

mp3=function(arreglo) {
onEnterFrame = function() {
if(avance != avanceTemp){
trace(arreglo[0,1])
this[arreglo[avance]] = new Sound();
this[arreglo[avance]].loadSound("audio/"+arreglo[avance]+".mp3",false);
this[arreglo[avance]+"_loaded"] = false;
this[arreglo[avance]+"_played"] = false;
avanceTemp = avance;
}
total_s = this[arreglo[avance]].getBytesTotal();
cargado_s = this[arreglo[avance]].getBytesLoaded();
if(total_s == cargado_s){
this[arreglo[avance]+"_loaded"] = true;
if(avance < (arreglo.length -1) ){
avance ++;
}
}
if(this[arreglo[arr]+"_loaded"] && this[arreglo[arr]+"_played"] == false){
this[arreglo[arr]].start();
cargador_sonido._visible=false
this[arreglo[arr]+"_played"] = true;
this[arreglo[arr]].onSoundComplete = function(){
arr++;
}
}else if(this[arreglo[arr]+"_loaded"] == false){
cargador_sonido._visible=true
trace("cargando sonido")
}

}

}

GRACIAS POR SU ATENCIÓN...
  #3 (permalink)  
Antiguo 22/11/2011, 02:08
 
Fecha de Ingreso: noviembre-2011
Ubicación: Bogotá, Colombia
Mensajes: 3
Antigüedad: 13 años
Puntos: 0
Respuesta: Problema con arreglos

Hola.

Bueno, después de mucho intentarlo, ya solucioné lo de la ruta; era un tema simple. Desde la diapositiva tenía que invocar la función así:
_root.mp3(_root.miArray)

Ahora la pregunta es: ¿Cómo debo hacer para que cada vez que llame la función mp3(arreglo), ésta empiece con los elementos del nuevo arreglo?.

Cada diapositiva tiene su propio arreglo, pero cuando navego entre ellas, se me queda pegado el primer arreglo. Me explico: Si la primera diapositiva tiene dos elementos en el arreglo y la segunda diapositiva tiene tres, entonces la segunda diapositiva empezará con el tercer elemento del arreglo...como quien dice: los dos primeros lugares ya fueron reproducidos.

Me imagino que tiene que ver con el "onEnterFrame"...he intentado darle "delete", pero no me ha funcionado.

Muchas gracias por la atención prestada.

Quedo muy atenta a ver si soluciono este inconveniente.

Etiquetas: actionscript
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 23:00.