Просмотр полной версии : Фотогалерея
Добрый день!
Помогите, пожалуйста, разобраться. Пытаюсь сделать фотогаллерею и не получается. Прикладываю свой пример. Для работы просто необходимо разобраться что я не так делаю :)
Заранее спасибо!
А какие фотки куда ставить? Что конкретно не получается?
Задумка такова: в главном меню нажать на один из заголовков (я пока вложила только 4 фото мальчика, рабочий только Adrian), должно выводить 4 маленьких preview слева от рамки с белым ободком, после чего нажимаешь на priview, далее выводит фото в основной рамке. Actionscript я, наверное, неправильно прописала, потому что ничего не выводит никуда :(
так ну attach есть и все, для вывода и отображения ничего нет
А как надо сделать?
Добавлено через 48 часов 2 минуты
Пожалуйста, помогите разобраться!
меня интересует внутренняя организация фотогалереи с 10-15 фото и предзагрузчиком. А именно, как лучше, то есть как организовать сами фото во флэше?? Грузить их все на 1 слой первого кадра, а потом кнопками вперед/назад просто перемещать их вверх/вниз по слоям?? Или лучше грузить в отдельные кадры мувика?? Ну и в перспективе при каких раскладах потом можна будет удобнее добавлять разные эффекты?
Можно сперва все загрузить в прелоадере, картинки отрисовать в битмапу. А потом по мере необходимости аттачить битмапу.
На форуме были примеры.
Кстати, для смены слайдов и эффекты битмапные тогда можно будет прикрутить. Как у silin'a (http://www.silin.su/#AS2/changer).
Только у него вроде бы картинки в библиотеке, но можно сделать как я сказал - битмапу использовать из массива, куда занести ее при загрузке.
Загрузить что-то в какой-то опр. кадр нельзя. Да и не нужно несколько кадров, достаточно одного кадра. Ну или двух - для предзагрузчика и основной.
Или трех - для предзагрузчика, второй - для экспортируемых классов и основной.
Можно поподробнее насчет "отрисовать в битмапу". Загрузка для отрисовки в битмапу производится в новосозданный контейнер или в существующий?? Видел примеры что грузят в новосозданный мувиклип специально для этой цели. А зачем, если есть существующий?? Какая разница??
Дальше загрузили, перебитмапили в массив. Кула потом деваются эти новосозданные мувиклипы, если мы все равно будем при просмотре фото подгружать в основной контейнер?
Создаем временный мувик, делаем невидимым, чтобы не мелькало, грузим картинку, отрисовываем в битмапу, заносим в массив, удаляем временный мувик.
Вот топики по сходной тематике: Раз (http://www.flasher.ru/forum/showthread.php?t=134171), Два
(http://www.flasher.ru/forum/showthread.php?t=141387)
сделал вроде. Но не аттачит. Первую картинку грузит, а на нажатие кнопки не реагирует. Только в левом верхнем углу поялвяется белый прямоугольник, размерами в 3-4 раза меньше.
import flash.display.BitmapData;
var arNames:Array = [];
var arFiles:Array = [];
var bmpArray:Array = [];
var imgIndex:Number = 0;
var arFilesL:Number = 0;
var xmlData:XML = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load('descr.xml');
var loader:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
loader.addListener(listener);
listener.onLoadInit = function(holder:MovieClip) {
holder._height = 375;
holder._width = 500;
};
function loadXML (success:Boolean)
{
if (success)
{
var node:XMLNode = this.firstChild ;
var total:Number = node.childNodes.length ;
for( i = 0; i < total; i++)
{
var fName:String = node.childNodes[i].attributes['name'];
var fFile:String = node.childNodes[i].attributes['file'];
arNames[i] = fName;
arFiles[i] = fFile;
trace("arNames["+i+"] = "+fName);
trace("arFiles["+i+"] = "+fFile);
};
var bmpData:BitmapData = new BitmapData(500, 375, false);
arFilesL = arFiles.length;
var tempMC:MovieClip = _root.CreateEmptyMovieClip("tempMC",_root.GetNextHighestDepth()) ;
for (i = 0; i < arFilesL-1; i++)
{
_root.tempMC.loadClip(arFiles[i]);
bmpData.draw(tempMC);
bmpArray[i] = bmpData;
trace(bmpArray[i]);
}
_root['Display'].text = arNames[0];
_root.loader.loadClip(arFiles[0], "holder");
//trace(arFilesL);
}
};
nextPic.onPress = function ()
{
trace(imgIndex);
trace(arFilesL);
if (imgIndex < arFilesL-1)
{
imgIndex++;
_root.holder.attachBitmap(bmpArray[imgIndex], 0); //тут не срабатывает, висит та же первая картинка.
_root['Display'].text = arNames[imgIndex]; //надписи отображаются нормально
}
};
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.