actionscript 3.0: URL de imagen combinada de obtener padre e hijo

Estoy haciendo una galería de imágenes xml. Y necesito obtener la ruta del padre y el nombre de la imagen del childnode. Pero cuando combino estas dos URL en urlrequest, no muestra las imágenes y me devuelve "SecurityError: Error #2000: No active security context". en la salida.

Aquí está mi código xml:

<gallery name="Poster" path="gallery/graphic_design/1/">
    <image img="im1.jpg" thumb="thumb1.jpg"/>
    <image img="im2.jpg" thumb="thumb2.jpg"/>
    <image img="im3.jpg" thumb="thumb3.jpg"/>
</gallery>

Aquí está mi código as3

var main_path = gallery_xml.gallery.@path;
var thumb_url = main_path + images[i].@thumb;
var thumb_loader = new Loader();
thumb_loader.load(new URLRequest(thumb_url));

después de rastrearlo. Muestra toda la ruta de 5 galerías en lugar de la ruta de la galería principal.

gallery/graphic_design/1/gallery/graphic_design/2gallery/graphic_design/3gallery/graphic_design/3gallery/graphic_design/3gallery/graphic_design/3gallery/graphic_design/3thumb1.jpg

¿Cómo debo hacer que solo cargue la ruta desde el padre?

preguntado el 03 de mayo de 12 a las 16:05

si lo hace trace(thumb_url); qué sacas ? -

también agregue un par de detectores de eventos a su cargador para IOErrorEvent.IO_ERROR y SecurityErrorEvent.SECURITY_ERROR para ver qué obtiene. -

@mgraph Veo el problema. después de rastrearlo. muestra toda la ruta en 5 galerías antes del nombre de la imagen. no el padre. ¿Cómo debo arreglarlo? -

1 Respuestas

El error #2000 suele ser un error de archivo no encontrado. Puede obtener más información ejecutando un IOErrorEvent así:

thumb_loader.addEventListener(IOErrorEvent.IO_ERROR, IOError)

function IOError(e:IOErrorEvent):void {
    trace(e.text);
}

Sin embargo, al alcance de la mano está el hecho de que los métodos XML que emplea AS3 son una locura (en mi humilde opinión). Como puede ver, en lugar de extraer la única referencia para la ruta, extrae todas las referencias para la ruta seguidas de su referencia específica para el pulgar.

Con solo leer el resultado, parecería que su XML es mucho más largo y contiene 3 versiones del código anterior, cada una con un diseño_gráfico/ incrementado.#. Si este es el caso, le falta una referencia en su sintaxis dot.notation a la versión específica de @path que está buscando.

En la práctica, gallery_xml.gallery.@path se convierte en gallery_xml.gallery[0].@path

Esto se debe a que, cuando hay múltiples entradas de un elemento en un nivel específico en una estructura XML, es básicamente una matriz de elementos con ese nombre.

contestado el 03 de mayo de 12 a las 18:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.