我正在做一个展示,我有四张图片加载形成XML,每张图片都有描述,我尝试加载框架中每张图片的文字,但只加载其中一条描述,你可以加载图像,但我无法为每一个加载描述。
请帮助我,我已经工作了三天,但我找不到答案。
import flash.display.Loader;
import flash.net.URLRequest;
import fl.controls.ProgressBar;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
var columnas:Number;
var xml_x:Number;
var xml_y:Number;
var miniatura_ancho:Number;
var miniatura_alto:Number;
var imagenes:XMLList;
var total_xml:Number;
var link:String;
var i:Number=0;
var contenedor_mc:MovieClip;
var precargar_mc:MovieClip;
var todo_mc:MovieClip;
var contador_x:Number = 0;
var contador_y:Number = 0;
var interpolaciones:Array = [];
var contenedor_mc_interpolacion:Tween;
var todo_interpolaciones:Tween;
var texto:TextField = new TextField();
import flash.display.Loader;
import flash.net.URLRequest;
var colchon_XMLCargador:URLLoader = new URLLoader();
colchon_XMLCargador.load(new URLRequest("swf/ortopedico/ortopedicos_sencillo.xml"));
colchon_XMLCargador.addEventListener(Event.COMPLETE, procesarXML);
function procesarXML(e:Event):void
{
var colchon_XML:XML = new XML(e.target.data);
columnas = colchon_XML. @ COLUMNAS;
xml_x = colchon_XML. @ POSICIONX;
xml_y = colchon_XML. @ POSICIONY;
miniatura_ancho = colchon_XML. @ ANCHO;
miniatura_alto = colchon_XML. @ ALTO;
imagenes = colchon_XML.imagen;
total_xml = imagenes.length();
crearContenedor();
llamarMiniatura();
colchon_XMLCargador.removeEventListener(Event.COMPLETE, procesarXML);
colchon_XMLCargador = null;
}
function crearContenedor():void
{
contenedor_mc = new MovieClip();
contenedor_mc.x = xml_x;
contenedor_mc.y = xml_y;
addChild(contenedor_mc);
}
function llamarMiniatura():void
{
for (var i:Number = 0; i < total_xml; i++)
{
var miniatura_url = imagenes[i]. @ miniatura;
var miniatura_cargador = new Loader();
miniatura_cargador.load(new URLRequest(miniatura_url));
miniatura_cargador.contentLoaderInfo.addEventListener(Event.COMPLETE, miniaturaCargada);
miniatura_cargador.name = i;
miniatura_cargador.x = (miniatura_ancho+8)*contador_x;
miniatura_cargador.y = (miniatura_alto+8)*contador_y;
texto.htmlText = imagenes[i].descripcion.toString();
if (contador_x + 1 < columnas)
{
contador_x++;
}
else
{
contador_x = 0;
contador_y++;
}
if (contador_x <= 1)
{
contenedor_mc.x = (stage.stageWidth - miniatura_cargador.width -140)/2;
contenedor_mc.y = (stage.stageHeight - miniatura_cargador.height -48)/2;
}
if (total_xml <= 4)
{
contenedor_mc.x = (stage.stageWidth - (total_xml*miniatura_ancho)-(8+total_xml))/2;
contenedor_mc.y = xml_y;
}
else
{
contenedor_mc.x = xml_x;
contenedor_mc.y = xml_y;
}
}
}
function miniaturaCargada(e:Event):void
{
var miniatura:Loader = Loader(e.target.loader);
contenedor_mc.addChild(miniatura);
addChild (texto);
interpolaciones[Number(miniatura.name)] = new Tween(miniatura,"alpha",Strong.easeIn,0,1,0.5,true);
miniatura.contentLoaderInfo.removeEventListener(Event.COMPLETE, miniaturaCargada);
}
//Vinculo;
texto.addEventListener(TextEvent.LINK, vinculo_texto);
function vinculo_texto(te:TextEvent):void
{
navigateToURL(new URLRequest(link));
}
function interpolacionFin(e:TweenEvent):void
{
var cargador:Loader = Loader(e.target.obj);
cargador.unload();
todo_mc.removeChild(cargador);
removeChild(todo_mc);
todo_mc = null;
var interpolacion:Tween = Tween(e.target);
interpolacion.removeEventListener(TweenEvent.MOTION_FINISH, interpolacionFin);
}
答案 0 :(得分:0)
The_asMan是正确的。您有一个文本字段,并且您正在为llamarMiniatura()
中的每个循环重新分配该值。考虑将值与每个循环连接或创建新的文本字段并添加它。
的级联:强>
texto.htmlText = texto.htmlText + "\n" + imagenes[i].descripcion.toString();
新TextField:
var txt:TextField = new TextField();
txt.addEventListener(TextEvent.LINK, vinculo_texto);
txt.htmlText = imagenes[i].descripcion.toString();
addChild(txt);