necesito hacer un refresco del escenario, porque tengo el siguiente problema:
Cargo una serie de imagenes usando las rutas a la carpeta en la que están leyendo un archivo xml que recupero desde un php.
La imágenes no tiene un tamaño establecido, por lo que las redimensiono en tiempo de ejecución y las sitúo en el escenario.
No sé por qué, pero parece que no le "da tiempo", y me descoloca todo el escenario.
Sin embargo, si vuelvo a ejecutar esa función nuevamente, sí me las coloca bien. Supongo que al tener las imagenes en la caché, trabaja mejor.
La solución que veo, es actualizar el escenario uan vez que están cargadas.
He estado buscando en el foro, y he encontrado que se puede hacer con updateAfterEvent(), pero ésto sólo funciona en un onClipEvent, o con la funcion setInterval, y yo no uso ninguna de ellas.
El código lo lanzo al pulsar un botón, que ejecuta una función que tengo el código del fotograma de la liea principal.
Para llamar a la función uso..
Código :
on (release){
this._parent._parent.CrearXML("VERA");
}Función ...
Código :
//Función de lanzamiento de la consulta y creación de los Alquileres
function CrearXML(slocalidad:String):Void {
_root.DestinoXML._y = 320;
var xmlVal:XML = new XML();
var url:String = "buscar.php?localidad="+slocalidad;
//**** ****var url:String = "buscar.xml";
xmlVal.load(url);
xmlVal.ignoreWhite = true;
xmlVal.onLoad = function(bSuccess:Boolean) {
if (bSuccess) {
var xnAlquileres:XMLNode = xmlVal.firstChild;
var aNumAlquileres:Array = xnAlquileres.childNodes;
//Eliminamos los Objetos del Contenedor
EliminarObjetos();
///_root.MoverAlquileres = true;
_root.ImagenesInferior._alpha = 25;
if (aNumAlquileres.length == null) {
_root.TextoBusqueda.text = "No se han encontrado resultados para "+slocalidad+".";
} else {
_root.TextoBusqueda.text = "Se han encontrado "+aNumAlquileres.length.toString()+" posibles alquileres en "+slocalidad+".";
}
var xnAlquiler:XMLNode = xnAlquileres.firstChild;
for (var i = 0; i<aNumAlquileres.length; i++) {
//Creamos los objetos según los nodos de alquileres
var AlquilerMC:MovieClip = _root.DestinoXML.attachMovie("Alquiler", "Alquiler"+i, i);
if (i == 0) {
AlquilerMC._x = 0;
AlquilerMC._y = 0;
} else {
if (i%4 == 0) {
nFila++;
AlquilerMC._x = 0;
//Posicion del anterior + Alto del clip + separacion
AlquilerMC._y = nUltimo_y+160+6;
//AlquilerMC._y = nUltimo_y+220+6;
} else {
//Posicion del anterior + Ancho del clip + separacion
AlquilerMC._x = nUltimo_x+170+6;
AlquilerMC._y = nUltimo_y;
}
}
AlquilerMC.descripcion.text = unescape(xnAlquiler.firstChild.toString());
AlquilerMC.referencia.text = unescape(xnAlquiler.attributes["referencia"].toString());
AlquilerMC.tipo.text = unescape(xnAlquiler.attributes["tipo_inmueble"].toString());
AlquilerMC.sid = unescape(xnAlquiler.attributes["id"].toString());
//Carga de la Imagen
var ImagenAlquiler:MovieClip = AlquilerMC.ContenedorImagen.attachMovie("Loader", "CargaImagen", 200);
if (xnAlquiler.attributes["foto1"].toString() == "") {
ImagenAlquiler.contentPath = "../imagenes/"+"nophotoalquiler.jpg";
} else {
ImagenAlquiler.contentPath = "admin/images_alquileres/"+xnAlquiler.attributes["id"].toString()+"/"+xnAlquiler.attributes["foto1"].toString();
}
//ImagenAlquiler.load(); mas abajo
//ImagenAlquiler.setSize(160, 115);
ImagenAlquiler.setSize(110, 79);
ImagenAlquiler.scaleContent = true;
ImagenAlquiler.load();
//ME LO LLEVA MAS ARRIBA PARA VER SI CARGA LA IMAGEN MEJOR
//if (xnAlquiler.attributes["foto1"].toString() == "") {
// ImagenAlquiler.contentPath = "../imagenes/"+"nophotoalquiler.jpg";
//} else {
// ImagenAlquiler.contentPath = "admin/images_alquileres/"+xnAlquiler.attributes["id"].toString()+"/"+xnAlquiler.attributes["foto1"].toString();
//}
var nUltimo_x:Number = AlquilerMC._x;
var nUltimo_y:Number = AlquilerMC._y;
var xnAlquiler:XMLNode = xnAlquiler.nextSibling;
//Cambio al siguiente nodo
_root.BorrarResultados._visible = true;
updateAfterEvent();
}
} else {
trace("Error en la lectura del xml");
}
};
}Ayuda por favor ....
