Задача: создать самую-самую простую фото-галерея на ActionScript 3.0 с подгрузкой данных из XML.
Итак, начнём...
Первым делом подберём картинки...
Потом создадим XML-файл. Наш XML будет носить имя simple_gallery.xml. Кстати, вот и он сам - simple_gallery.xml. В этом файле мы будем хранить адреса картинок для нашей будущей галереи (заполняем внимательно и вдумчиво).
Затем идут некоторые подготовительные моменты в флеш-редакторе: в нашем флеш-проекте создадим один мувиклип с именем containerImages_mc (контейнер для картинок) и две кнопки с именами prev_btn и next_btn (для навигации по галерее картинок).
Отлично. Теперь переходим к написанию кода...
Код ActionScript 3.0:
/*
переменные
*/
var images:Array = new Array();
var index:uint = 0;
/*
загружаем XML
*/
var loader:URLLoader = new URLLoader();
loader.load(new URLRequest("content/simple_gallery.xml"));
loader.addEventListener(Event.COMPLETE, onCompleteLoadXMLFunc);
function onCompleteLoadXMLFunc(event:Event):void
{
/*
разбираем XML
*/
var loadXml:XML = XML(event.target.data);
var loadXmlList:XMLList = loadXml.images.children();
for (var i:uint = 0; i < loadXmlList.length(); i++)
{
images.push(loadXmlList[i].text());
}
/*
обновляем картинку
*/
updateFunc();
}
/*
функция, обновляющая картинки
*/
function updateFunc():void
{
/*
прячем или показываем кнопки
*/
if(index == 0)
{
prev_btn.visible = false;
next_btn.visible = true;
}
else if(index >= (images.length - 1))
{
prev_btn.visible = true;
next_btn.visible = false;
}
else
{
prev_btn.visible = true;
next_btn.visible = true;
}
/*
загружаем картинку
*/
var loader:Loader = new Loader();
loader.load(new URLRequest(images[index]));
containerImages_mc.removeChildAt(0);
containerImages_mc.addChildAt(loader, 0);
}
/*
код для кнопок
*/
prev_btn.addEventListener(MouseEvent.CLICK, onClickPrevBtnFunc);
next_btn.addEventListener(MouseEvent.CLICK, onClickNextBtnFunc);
function onClickNextBtnFunc(e:MouseEvent):void
{
index++;
updateFunc();
}
function onClickPrevBtnFunc(e:MouseEvent):void
{
index--;
updateFunc();
}
Ух, поработали... Давайте смотреть, что получилось:
Согласен, можно и покрасивее сделать. Но напомню, что наша цель - самая-самая простая галерея. Поэтому... сойдёт.
Ах, да, исходники - Скачать исходники | Download