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

Error al crear Mc dinamicamente

Estas en el tema de Error al crear Mc dinamicamente en el foro de Flash y Actionscript en Foros del Web. He probado a hacer algo asi: //CrearLoadVars object y cargar ASP myData = new LoadVars() myData.load("cargar.asp") //asp line myData.ref = this myData.onLoad = function(succes){ if(succes){ ...
  #1 (permalink)  
Antiguo 01/07/2004, 05:08
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 20 años, 11 meses
Puntos: 0
Error al crear Mc dinamicamente

He probado a hacer algo asi:
//CrearLoadVars object y cargar ASP
myData = new LoadVars()
myData.load("cargar.asp") //asp line
myData.ref = this

myData.onLoad = function(succes){
if(succes){
for(var i=0; i<this.cant; i++){
//Para crear Mc dinamicamente
_root.createEmptyMovieClip("clip"+i, 1000+i);
var clipdina = _root[ "clip" 1000+ i ];
clipdina._x = 20*i;
clipdina._y = 20*i;
clipdina.loadMovie("foto.jpg");
//Fin Para crear Mc dinamicamente

}
} else trace("Error Cargando datos")
}
stop()








Este es el error que me aparece, creo que es de sintesis, pero es que soy nuevo en ActionScript y no se
interpretar bien los resultados del debug:
Scene=Scene 1, Layer=Code, Frame=1: Line 11: ']' expected
var clipdina = _root[ "clip" 1000+ i ];

Scene=Scene 1, Layer=Code, Frame=1: Line 25: ';' expected
} else trace("Error loading data")

Scene=Scene 1, Layer=Code, Frame=1: Line 26: Unexpected '}' encountered
}

Incluso lograse que funcione tengo una pregunta:
He leido en http://www.flashsupport.com/forum/to...p?TOPIC_ID=861 esto:
I personally consider it "bad form" to put a loadMovie()
action in a for loop. While the Flash Player usually does
a reasonably decent job "queuing" requests, I have found that
invoking several requests at once leads to inferior downloading performance.
As such, for loading assets, I usually put the asset URLs into an array,
and load each one sequentially, removing the asset from the array when the
load has finished on it.

Si esto es cierto ¿Como podria solucionarlo entonces?
¿Como pondria en lugar de foto.jpg el i elemento de un array?
¿Como recogeria ese array que viene desde ASP?

Gracias por adelantado, y perdonen si he hecho demasiadas preguntas,
pero es que tengo un oceano de dudas.
  #2 (permalink)  
Antiguo 01/07/2004, 07:47
Avatar de walo  
Fecha de Ingreso: mayo-2004
Mensajes: 310
Antigüedad: 19 años, 10 meses
Puntos: 0
aca tenes un error:
_root.createEmptyMovieClip("clip"+i, 1000+i);
var clipdina = _root[ "clip" 1000+ i ];
clipdina._x = 20*i;
clipdina._y = 20*i;
clipdina.loadMovie("foto.jpg");

por

var clipdina = "clip"+1000+i;
_root.createEmptyMovieClip(clipdina);
_root.clipdina._x = 20*i;
_root.clipdina._y = 20*i;
_root.clipdina.loadMovie("foto.jpg");

y aca otro

}
} else trace("Error Cargando datos")
}

por

} else {
trace("Error Cargando datos");
}
}

proba a ver si funciona

Última edición por walo; 01/07/2004 a las 07:50
  #3 (permalink)  
Antiguo 01/07/2004, 07:52
Avatar de Prince  
Fecha de Ingreso: mayo-2003
Ubicación: DF
Mensajes: 574
Antigüedad: 20 años, 11 meses
Puntos: 1
bueno tus errores están efectivamente donde dice el debugger y son de sintaxis. El primero está aquí...
Código:
var clipdina = _root[ "clip" 1000+ i ];
' "clip" 1000+1 ' no lo puede interpretar ya que está mal escrito. Tendrías que cambiar lo por...
Código:
var clipdina = _root[ "clip" + i ];
El siguiente error está en el "else". Efectivamente le falta un punto y com ";" al final de la línea.
Código:
}else trace("Error cargando datos");
y con esto el último error donde te dice que no se esperaba una llave "}" se debe de quitar.
__________________
- P R I N C E -
  #4 (permalink)  
Antiguo 01/07/2004, 08:49
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 20 años, 11 meses
Puntos: 0
Gracias a ambos voy a probarlo
  #5 (permalink)  
Antiguo 01/07/2004, 08:50
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 20 años, 11 meses
Puntos: 0
¿Como pondria en lugar de foto.jpg el i elemento de un array?
¿Como recogeria ese array que viene desde ASP?
  #6 (permalink)  
Antiguo 01/07/2004, 10:25
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 20 años, 11 meses
Puntos: 0
He probado lo que me habeis dicho, ya no hay ningun error de sintexis
pero ¿Por que no me muestra las imagenes?

Este es el codigo completo, lo que no trae las images es lo que esta en rojo, lo demas funciona correctamente.

//Crear LoadVars object y cargar ASP
myData = new LoadVars()
myData.load("anastasio.asp") //asp line
myData.ref = this
myData.onLoad = function(succes){
if(succes){
for(var i=0; i<this.cant; i++){
//Para crear Mc dinamicamente

//_root.createEmptyMovieClip("clip"+i, 1000+i);
var clipdina = "clip"+1000+i;
_root.createEmptyMovieClip(clipdina);
_root.clipdina._x = 20*i;
_root.clipdina._y = 20*i;
_root.clipdina.loadMovie("foto"+i+".jpg");
//Fin Para crear Mc dinamicamente


//Con esto obtengo los valores de la BD
this.ref["Title_txt"+i].htmlText = "<b>"+this["Title"+i]+"</b>"
this.ref["Comments_txt"+i].text = this["Comments"+i]
this.ref["holder_mc"+i].loadMovie(this["Image"+i])
//con esto consigo poner el numero de fotos en el dinamic text
this.ref["cant_txt"].text = this["cant"]
//Fin con esto obtengo los valores de la BD
}
} else trace("Error Cargando datos");
}
stop()

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 16:13.