Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #27, ФЕВРАЛЬ 2003 г.

Flash-навигатор

ilich

Спецвыпуск Xakep, номер #027, стр. 027-050-3


Самое главное - тексты. В конечном кадре конкретной анимации должно стоять присваивание текстовому полю значения, соответствующего данному разделу. Т.е. переменной "text" присваивается собственно текст, содержащийся в данном разделе. Замечу, лишь только присваивается. А будет ли реально сам текст там набран - загадка. Фишка в том, что текст текстом, а килобайты он, гад, жрет только в путь! Что, естественно, ни тебе, ни твоему потенциальному посетителю на фиг не нужно. Поэтому мы чтиво сразу грузить не будем, а замутим его закачку лишь только при обращении, т.е. при клике по какой-нибудь кнопке раздела, что, собственно, и делается перед переходом к анимации посредством штучки "_root.loadVariables("texts.txt")". Причем загруз будем вести на основную сцену, т.е. в мувик "root", для легкости обращения. Для примера пусть переменные с текстами разделов имеют имена "text1", "text2"...

Кстати, об анимации. Как только я начал говорить про отдельную закачку текста, ты, наверняка, как продвинутый флешер, сразу все просек. И угадал! Прелоадер здесь нужен не меньше, чем на закачке основной флехи. Только здесь есть некоторые подводные камни. Например, то, что текстовик должен грузиться один раз. Это мы отслеживаем флажком "_root.f". Или то, что во избежание ошибок лучше было бы все кнопки на время анимации отрубить или хотя бы скрыть, например, утащив за экран. Скрытие кнопок происходит в цикле "for". Там горизонтальным координатам всех мувиков кнопок задается такое значение, что они оказываются далеко влево от края флешки.

У себя на сайте я вообще все сделал через ж...

И все это ради экономии, ради оптимизации веса флешки в целом и механизма переходов по разделам в особенности. У меня при клике на кнопке некоторой переменной дается значение кадра, к которому надо в итоге прийти, и все действо грубо посылается к началу анимации. Анимация одна на все пункты меню :), ибо по задумке она в плане внешности никаким образом не должна подыгрывать контенту разделов. В конце анимации стоит кадр-распределитель, который уже и направляет пользователя к нужному разделу. В одно текстовое поле пишется сама инфа раздела, а в другое такое же динамическое - название раздела, т.е. здесь и с названиями та же лабуда :).

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

Взад - вперед

Итак, меню пашет, т.е. переход по кадрам происходит безболезненно, а текст показывается корректно. Осталась одна ма-а-аленькая, но важная деталь. Прокрутка :). Все мы в курсе, что, когда текстовое поле ограничено по размерам, а текст варьируется по объему, может появиться эффект автокастрации, т.е. обрезания конечной или начальной части текста (в зависимости от того, где находится курсор в тексте). Эффект некрасивый и нам не нужный. Избавляются от него, как правило, посредством введения полосы или кнопок прокрутки.

Назад на стр. 027-050-2  Содержание  Вперед на стр. 027-050-4