Создание фотогалереи в программе MacromediaFlashMX на основе массива.

 
Открываем редактор, создаем пустой документ Ctrl +N. Экспортируем фотографии для галереи в библиотеку. Вытаскиваем первую фотографию на сцену выделяем ее, щелкаем правой клавишей мышки, выбираем преобразовать в символ . В открывшемся окне выбираем: графика, вводим имя для символа- "k1", ставим галочку на экспорт для ActionScript . Щелкаем Ok. Открываем только что созданный символ в режиме редактирования(двойной клик по символу), выравниваем изображение по сцене. Выходим из режима редактирования на главную сцену, удаляем символ со сцены(Delete). Проделываем эту операцию с каждой фотографией. В результате получаем 5 графических символов с именами: "k1", "k2"..."k5", (в моем примере 5 фотографий у вас может быть другое колличество). Добавляем второй верхний слой называем его cod, делам все кадры ключевыми. Первыий кадр нижнего слоя оставляем пустым. В слое cod будем писать код. Выделяем первый кадр верхнего слоя, открываем панель AS пишем :
var clips = ["k1", "k2", "k3", "k4","k5"];

Создаем массив. Сохраняем массив в переменной Var ClipsVar Clips- имя переменной ; "k1", "k2", "k3","k4", "k5" - имена эллементов массива. 2-строчка

i= clips.length;

Переменной i присваеваем значение равное длине массива, Сlips.legnth-определяет длину массива(количество элементов), i-имя переменной, Сlips.legnth-определить колличество эллементов в массиве Сlips. Третья строка(необязательно).

trace(Сlips);
Выводим значение эллементов массива, чтобы проверить, правильно ли флеш опознал наш массив. В окне output должны появиться имена всех эллементов массива: ("k1", "k2", "k3", "k4","k5")

 

 

 

Добавляем еще один кадр, делаем кадр ключевым, как в верхнем так и в нижнем слое. Выделяем второй кадр нижнего слоя, создаем динамическое текстовое поле:

Обзываем его: "kon_txt", задаем выравнивание по центру, выбираем шрифт ,цвет и т.д. распологаем его на сцене в нужном нам месте.

Создаем пустой клип pr_mc  (для загрузки фотографий) распологаем его на сцене.

Создаем две кнопки обзываем их "forward_btn (вперед)" и "back_btn (назад)" распологаем их на сцене.

Выделяем второй ключевой кадр на слое сod , Открываем панельAS и пишем туда код:
 
stop();
this.kon_txt.text = "фото "+"0/"+Clips.length;
trace(kon_txt.text);
_root.forward_btn.onPress = function() {
trace("press");
trace(i);
if (i>0) {
_root.pr_mc.attachMovie(Clips[i-1], "k", 0);
i = i-1;
trace(i);
_root.kon_txt.text = "фото "+(Clips.length-i)+"/"+Clips.length;
}
if (i == 0) {
_root.kon_txt.text = (Clips.length-i)+"/"+Clips.length+" Конец";
trace("конец");
}
};
this.back_btn.onPress = function() {
trace("press");
trace(i);
if (i<(Clips.length-1)) {
_root.pr_mc.attachMovie(Clips[i+1], "k", 0);
i = i+1;
trace(i);
_root.kon_txt.text = "фото "+(Clips.length-i)+"/"+Clips.length;
}
};

 

  stop()-остонавливаем воспроизведение фильма.

this.kon_txt.text = "фото "+"0/"+Clips.length – в текстовом поле вывести надпись "фото 0/5", Clip.length определяет количество эллементов в массиве у нас 5.

Далее идет код для кнопок:

_root.forward_btn.onPress = function() {
trace("press");
trace(i);
if (i>0) {
_root.pr_mc.attachMovie(Сlips[i-1], "k", 0);
i = i-1;
trace(i);
_root.kon_txt.text = "фото "+(Сlips.length-i)+"/"+Сlips.length;
}
if (i == 0) {
_root.kon_txt.text = (Сlips.length-i)+"/"+Сlips.length+" Конец";
trace("конец");
}
};
При нажатии на кнопку forward_btn. Вывести в окно output слово "press" (проверяем работаетли кнопка). Вывести значение переменной i (проверяем видна ли переменная). Далее: если i > 0 , то на нулевой уровень пустого клипа pr_mc , загрузить эллемент массива (i-1). Здесь мы обращаемся к эллементу массива по номеру, в массиве нумерация эллементов начинается с 0, количество эллементов по своему числовому значению больше последнего нумерованного эллемента на еденицу. 0,1,2,3,4-пять эллементов, последний номер 4 Дать ему новое имя "k" . Далее: уменьшить переменную i на еденицу, Вывести значение i(для проверки) В текстовом поле "kon_txt.text" вывести текст("фото "+(Clips.length-i)+"/"+Clips.length) слово фото номер текущей фотки, слеш,общее количество фоток. если i=0 вывести текст : номер текущей фотки, слеш, общее количество фоток, слово "конкц" . Для второй кнопки код аналогичный только со знаком +.

Фотогалерея готова. 

 
Hosted by uCoz