[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные




Web - технологии / Flash /

Снова массивы или как организовать просмотр страниц (back, forward)

Как Вы уже, наверное, поняли речь снова пойдёт про массивы. Идея этого урока пришла мне в голову, когда я разговаривал с одним человеком по ICQ. У него есть сорок страниц с разным дизайном и информацией. И он спросил меня как бы ему сделать две кнопки (вперёд и назад), чтобы они прокручивали все сорок страниц. Причём так, чтобы кнопки надо было сделать только один раз. Можно, конечно использовать JavaScript для решения этой проблемы, но то готовый скрипт....А как насчёт того, чтобы сдлать это самим и средствами Flash.

Если Вы всё ещё читаете этот урок, это значит, что Вам всё-таки интерестно, как можно добиться вышеописанного эффекта. Для достижения цели нам понадобиться Flash и Dreamweaver. Итак, приступим.

Откроем редактор Flash (имееться в виду Flash 5) и создадим новый клип с названием......а впрочем это не важно...назовите как Вам угодно. В новом клипе создайте 3(три) слоя с названиями (сверху вниз) "Scripts","Button Left","Button Right". Теперь нарисуйте две кнопки, которые будут указывать в лево и в право и поместите их в соответствующие слои. Теперь приступим к написанию скрипта. В слое "Scrips" сделайте первый кадр ключевым (KeyFrame) и в нем задайте такие действия:

i = -1;
n = (incomingAd.length)-2;
incomingAd = new array();
incomingAd[0] = "test1.htm";
incomingAd[1] = "test2.htm";
incomingAd[2] = "test3.htm";
incomingAd[3] = "test4.htm";

Итак что же всё это значит? А значит это следующее: объявляется массив длиной равной четырём, а ниже к каждой его ячейке присваивается URL адрес. В данном случае мы имеем четыре адреса, но если Вам нужно больше, то это тоже не проблема. Формула тут такова:

имя массива(в данном случае incomingAd) [порядковый номер индекса] = "URL адрес";

Первые же две строчки означают следующее:

i = -1;

Объявляется переменная i и ей присваивается значение "1".

n = (incomingAd.length)-2;

Строка значит следующее: к переменной "n" присвивается значение длинны массива incomingAd, а затем от этого значения отнимается 2. Зачем нужны эти две строки мы узнаем позже.

Теперь передём к нашм кнопкам. На кнопку лежащюю в слое "button left" вешаем следующее действие:

on (release) {
i--;
getURL (incomingAd[i], "mainFrame");
}

Т.е что мы делаем: как только пользователь нажимает на кнопку от переменной "i" отнимается один ( i-- ), а затем вызывается функция GetURL которая принимает значение ячейки "i" массива "incomingAd" и открывает етот адрес в фрэйме под названием "mainFrame". А на кнопку находящуюся в слое "button left" вешаем следующий скрипт:

on (release) {
i++;
getURL (incomingAd[i], "mainFrame");
}

Как Вы можете видеть, этот скрипт ничем не отличается от предыдущего за исключением того, что вместо того чтобы отнимать единицу от переменной "i", скрипт прибавляет к ней еденицу.

Теперь позаботимся, чтобы тупой юзерь (ламер) не смог по своей тупости попытаться попасть на несуществующую страницу (например у нас есть пять страниц и он, находясь на последней, продолжает щёлкать кнопкой "next", требуя ещё и обижаясь на на свой броузер, который в ответ на его действия выдаёт что-нибудь несуразное или вообще не реагирует). Чтобы этого избежать нам надо отключать кнопку "вперёд" если пользователь находится на последней странице или отключать кнопку "назад" если в данный момент отображается первая страница в списке. Для этого выполним следующие действия (кстати мне кажется, что мой алгоритм для решения этой задачи далеко не совершенен... он, конечно, работает, но это не идеал с точки зрения стиля...: в шестом кадре слоёв "button right" и "button left" поставьте ключевые кадры. А теперь в слое "button left" удалите вашу кнопку и вместо неё поставьте какой-нибудь крестик или ещё что-нибудь, чтобы юзерь понял, что это предел списка. Теперь создайте ключевой кадр в кадре 10 (десять) и аналогичным образом отключите кнопку "вперёд" в слое "button right". Теперь приступим к определению, когда какая кнопка отключается. В пятом кадре слоя "Scripts" создайте ключевой кадр и поместите туда следующий скрипт:

if (i<=0) {
gotoAndPlay (6);
} else if (i>n) {
gotoAndPlay (10);
} else {
gotoAndPlay (2);
}

Т.е если переменная "i" меньше или равна нулю, это значит, что юзверь сейчас в начале списка и, следовательно, кнопку влево надо отключить т.е осуществить переход на кадр, где кнопка "назад" отключена (кадр 6). А если переменная "i" больше переменной "n", которая, как Вы помните определяет длинну массива, то это значит, что ламер уже в конце списка и следует отключить кнопку "вперёд" (кадр 10). Ну а если он (ламер) болтается где-то в середине списка, то можно ничего не отключать и продолжать этот цикл с кадра 2 (два). Теперь скопируем етот скрипт в кадр 9 (девять) и 13 (тринадцацть) для того, чтобы обрабатывались все возможные ситуации. После всех этих операций у Вас должно получитья что-то вроде этого:

Можете вздохнуть спокойно, всё трудное позади, остались пустяки. Откройте дримвивер и создайте документ с фрэймами в один фрэйм поместите Ваши скопки а в другой (названный MainFrame) поместите что угодно...например сообщение "Нажмите кнопку вперёд для начала просмотра галлереи" Затем сохраните документ и создайте ещё четыре с названиями от "test1" до "test4" в нашем случае и поместите туда, к примеру картинки, затем поместите всё это добро в один каталог, крестите пальцы на всём чём можно и... запускайте... вот и всё.




Комментарии

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: Web - технологии / Flash /

Flash: 99% Proof
26-04-2010   

В прошлом году я забил тревогу в своей статье Рак Web-а под названием Flash. Я выступал против многомиллионных Flash-сайтов и дизайнеров, их создававших... подробнее

Кол. просмотров: общее - 3097 сегодня - 0

Flash неприемлем на 99%
26-04-2010   

Вкратце: Несмотря на то, что мультимедиа прокладывает себе дорогу в Web, современная технология Flash ухудшает удобство пользования Web по трем причинам: она способствует появлению плохого дизайна, вступает в противоречия с фундаментальными принципами взаимодействия пользователя с Web, и поглощает ресурсы, которые могли бы быть использованы на улучшение содержания самого сайта... подробнее

Кол. просмотров: общее - 3129 сегодня - 0

Flash - что может быть хуже?
26-04-2010   

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

Кол. просмотров: общее - 3420 сегодня - 0

Простой предлоадер
26-04-2010   

Открываем flash, и в первом фрейме пишем: Загрузка и ставим точку, желательно, чтобы размер шрифта был достаточно большой... подробнее

Кол. просмотров: общее - 3140 сегодня - 0

Создание шлейфа мыши
26-04-2010   

В этом уроке я опишу как создать шлейф, тянущийся за указателем мыши. Наверное Вы уже видели что это такое поэтому давайте сразу передём к созданию... подробнее

Кол. просмотров: общее - 3070 сегодня - 0



  WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects