Значение атрибута из XML
Вложений: 1
Загружаю случайную картинку из списка в xml файле. В xml файле прописан атрибут к каждой картинке.
По клику картинка меняется. Вопрос: как узнать атрибут той картинки по которой кликнули?
Может кто знает, как решить проблему. Буду благодарен. Проект в flashdevelop во вложении.
Код AS3:
package
{
import flash.display.Bitmap;
import flash.display.DisplayObject;
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.MouseEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
public class Main extends Sprite
{
private const XML_PATH:String = "data.xml";
private var xml:XML;
private var Pict:Bitmap;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.load(new URLRequest(XML_PATH));
xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
}
private function xmlLoaded(e:Event):void {
e.target.removeEventListener(Event.COMPLETE, xmlLoaded);
xml = new XML(e.target.data);
var randomValue:uint = Math.floor(Math.random() * (xml.settings.pictures.children().length() ));
var PictLoader:Loader = new Loader();
PictLoader.load(new URLRequest(xml.settings.pictures.children()[randomValue].@url));
PictLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, PictLoaded);
}
private function PictLoaded(e:Event):void {
e.target.removeEventListener(Event.COMPLETE, PictLoaded);
Pict = e.target.content as Bitmap;
Pict.smoothing = true;
var container:Sprite = new Sprite();
container.addChild(Pict);
addChild(container);
container.addEventListener(MouseEvent.CLICK, onClick);
}
private function onClick(e:Event):void
{
trace('здесь нужно выводить атрибут "vid" из xml соответствующий той картинке на которую кликают. Как???');
init();
}
}
}
|