как заменить миниатюры изображений числами в xml, управляемых галереей, используя actionscript (flash) - PullRequest
1 голос
/ 26 ноября 2011

Я разработал фотогалерею на основе XML, используя ActionScript 3.0.

Сначала при запуске SWF-файла загружаются все миниатюры. Затем у меня появляются эскизы ниже, когда я нажимаю на них, загружается большое изображение.

Я хотел, чтобы миниатюры были заменены числами, которые динамически формируются из файла XML. т.е. я просто хочу цифры, при нажатии на них загружаются соответствующие изображения

Пожалуйста, дайте решение этой проблемы или предложите хороший учебник. Большое спасибо:)

вот код, над которым я работал, и я застрял, заменив

var titleArray:Array = new Array();
var descriptionArray:Array = new Array();
var largeImageArray:Array = new Array();
var thumbnailArray:Array = new Array();

//XML
var imageNum:Number=0;
var totalImages:Number;


//Load in XML
var XMLURLLoader:URLLoader = new URLLoader();
XMLURLLoader.load(new URLRequest("portfolio.xml"));
XMLURLLoader.addEventListener(Event.COMPLETE, processXML);

function processXML(event:Event):void {
var theXMLData:XML=new XML(XMLURLLoader.data);
totalImages=theXMLData.title.length();
for (var i:Number=0; i< theXMLData.title.length(); i++) {
    titleArray.push(theXMLData.title[i]);
    descriptionArray.push(theXMLData.description[i]);
    largeImageArray.push(theXMLData.largeImage[i]);
    thumbnailArray.push(theXMLData.thumbImage[i]);
}
loadThumbnail();
}

myScrollPane.source=allThumbnails;

//Load the thumbnails
function loadThumbnail():void {
trace(imageNum);

var thumbLoader1:Loader = new Loader();
thumbLoader1.load(new URLRequest(thumbnailArray[imageNum]));
thumbLoader1.x=100*imageNum;           //Distance between images
//stores the appropriate info for the thumbnail
var thisLargeImage:String=largeImageArray[imageNum];
var thisTitle:String = titleArray[imageNum];
var thisDescription:String = descriptionArray[imageNum];
thumbLoader1.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded1);
function thumbLoaded1(event:Event):void {
    //add the thumbnail to the allThumbnails instance
    allThumbnails.addChild(thumbLoader1);
    myScrollPane.update();
    allThumbnails.buttonMode=true;
    thumbLoader1.addEventListener(MouseEvent.CLICK,loadMainImage1);
    function loadMainImage1(event:MouseEvent):void {
        largeUILoader.source=thisLargeImage;
        selectedTitle.text=thisTitle;
        selectedDesc.htmlText=thisDescription;
    }
}
imageNum++;
if (imageNum<totalImages) {
    loadThumbnail();
}
}

1 Ответ

1 голос
/ 26 ноября 2011

Вместо добавления миниатюр просто добавьте TextFields и назначьте соответствующий номер их текстовому свойству.

Используйте свойство имени текстового поля, чтобы сохранить увеличенный URL-адрес изображения.

...