| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Flash > Флеш-сайт. Как правильно организовать структуру? |
| Автор: Caramel 10.8.2005, 10:06 |
| В продолжение тем: http://forum.vingrad.ru/index.php?showtopic=56428&view=all http://forum.vingrad.ru/index.php?showtopic=57684&view=findpost&p=489186 По эскизам я разбила сайт на три страницы. Первый уровень (вход) Второй уровень (выбор моста, пролистывание карты) Третий уровень (мост и информаци о нем + фотогалерея) Верхнее и нижнее меню у меня остается во всех страницах Теперь вопрос. Как оно должно лежать во флеше? Вариант первый. Каждому эскизу свой кадр. При щелчке пользователь перескакивает с кадра на кадр. Но не понятно тогда как отрисовывать смену содержания? Скажем смену карты (второй уровень)? Или моста (третий уровень)? Вариант второй. Каждому объекту по кадру. Т.е. я отрисовываю не только три по количеству эскизов, но и + кадры на все карты + кадры на все мосты. Этот вариант мне кажется более легким в исполнении но в тоже время муторным. Где не права поправте. Я сецально завела этот проект что бы учиться. Рада любым советам Кому лень лезть в темы прилагаю один из эскизов. |
| Автор: AlDev 10.8.2005, 10:10 |
| выложи все 3 эскиза pls |
| Автор: ManiaK 10.8.2005, 10:18 |
| Мне как-то не очень понятна схема сайта. Ещё бы это объяснить. |
| Автор: AlDev 10.8.2005, 10:37 |
| Offtopic: ManiaK, долго думал, кто такой Maniak , и откуда он у мня в blog-е взялся |
| Автор: Caramel 10.8.2005, 12:26 |
| Я выложу эскизы и будет понятно. Просто третий еще не отрисован |
| Автор: ManiaK 10.8.2005, 12:41 | ||
Alex Batsuev
Ждём-с... |
| Автор: PROCESSOR 12.8.2005, 06:56 |
| - меню, которое видно везде - расположи в одном слое ( чтобы поверх всех был ) и сделай пустые кадры в томже слое во всех фреймах где есть страницы. т.е. ключевой кадр в фрейме 0 и пустые кадры в 1,2 - каждую страницу в своем слое ( вообщемто можно и в одном ), но в разных фреймах. 1 страница в фрейме 0, 2оя страница в фрейме 1... - в нулевом фрейме напиши в action - stop() . чтобы плеер показал только 0 фрейм ( меню и первую страницы ) и остановился. - теперь для перехода на другие страницы - просто пиши gotoAndStop (1) для второй страницы и gotoAndStop (2) для третей страницы и само собой gotoAndStop (0) для возврата на первую страницу. - фреймам можно дать имена и тогда можно писать gotoAndStop ("page1") например. - плюс в том что другие страницы будут автоматом исчезать, и появляться только нужная страница, а постоянный слой ( с меню ) будет виден везде. Практчиски принцип презентации - слайды. Ненадо никакие _visible пользовать и дополнительные коды писать, которые закрывают и появляют страницы. - можно всё разнообразить , но общий принцип ясен. - на сегодня, это самое эффектной и простой способ, что я знаю. - очень легко ввести любую анимацию. Например размещать страницы в кадрах 0,100,200.Тока вместо gotoAndStop писать gotoAndPlay. Тока незабыть в конце появления страницы, поставить stop(). Хотя намного практичнее использовать мувики в мувике для анимации, а не засорять главный timeline. |
| Автор: Caramel 12.8.2005, 17:08 |
| Эскизы здесь http://forum.vingrad.ru/index.php?showtopic=57684&view=findpost&p=491796 |
| Автор: ManiaK 22.8.2005, 08:07 |
| 1. Не очень понятно на главной странице что значит "вверх по течению" и "вниз потечению". Для человека, который только что зашёл на сайт эти два термина будут загадкой. Вверх относительно чего?.. (но это 2. Логичней всего, как мне кажется, разбить сайт на две флешки: выбор моста и view'ер мостов (третий уровень). Главную страницу можно сделать обычной, HTML-ной, если, конечно, не предполагаются и там всякие всплывучести (да, я думаю, это лишнее). То есть, я бы выбрал первый вариант. Как сделать всплывание текста и пр. прелести PROCESSOR уже объяснил. Добавлено @ 08:07 Любопытно посмотреть на то, как это будет выглядеть в конечном итоге. |
| Автор: AlDev 22.8.2005, 08:36 |
| preprepreprealpha ) http://batsuev.com/wp/2005/08/16/site-engine/ сайт разбит на хрен знает сколько flash-ек, некоторые - скины, неуоторые - данные. всё подгружается через один класс, который умеет подгружать сразу несколько swf и отображать общий прогресс. Все данные внешние. Основаная swf содержит движок для подгрузки данных, прелоадер, и движок для смены страниц. Остальное - подгружается в неё и юзает классы, которые в основной. Всё. |
| Автор: ManiaK 22.8.2005, 09:44 |
| Неплохо! Довести бы до разумного Из минусов тотального использования flash - тормоза. |
| Автор: Rus 22.8.2005, 11:27 |
| Воду "живую" может сделать? |
| Автор: Caramel 22.8.2005, 13:40 | ||
Вода живая... там плавает таракан. Т.е. кораблик Добавлено @ 13:43 Читаю сейчас введение в ООП Сложно... ни фига не понимаю |
| Автор: Rus 22.8.2005, 19:03 |
| А где? - я чет не вижу |
| Автор: Caramel 22.8.2005, 20:18 | ||||||||
Возможно. Но сайт будет на флеш. Полностью. В общем-то я понимаю что будет очень тяжело. Но в конце концов проект создан и для того что бы учиться. Ну положу на диск, делов-то...
Обсуждение дизайна и дополнений в другом топике. Посмотри мой первый пост.
До этого места все понятно. В общем-то так и делала
А вот это - нет |
| Автор: AlDev 23.8.2005, 03:30 | ||||||
в main.swf у тебя есть два кадра. Также на первую swf-ку пихаем все, что всегда есть на остальных страницах и прелоадер. На первом торчит подгрузка всего клипа и создание экземпляров pageManager и dataManger:
итак, попорядку: System.useCodepage = true; включаем использование кодовых страниц, дабы небыло проблем с подгрузкой файлов с различными кодировками (которые не UTF-8) this.pm = new com.batsuev.managers.pageManager(this['content']); создаем экземпляр класса pageManager, который занимается тем, что подгружает содержимое внешнего файла в клип this['content']. Почему this.pm = , а не var pm: ? Просто если мы пропишем через var, то не сможем получить доступ к этой переменной из других клипов, а если пишем this.pm, то мы просто "пришиваем" переменную pm к мувику. В данном случае this и _root - одно и то-же. this.dm = new com.batsuev.managers.dataManager(); то-же, что и pageManager, но для работы с данными. var preloader_instance:Object = this['preloader']; создаем ссылку на объект preloader. Это клип, у него выставлен as2 class com.batsuev.UI.preloader. this.pm.preloader_instance = preloader_instance; this.dm.preloader_instance = preloader_instance; здесь мы указываем нашим мэнеджерам, ссылку на прелоадер. var load_list:Object = new Object(); var ths:Object = this; load_list.onLoad = function() { ths.gotoAndPlay(2); ths.pm.changePages(['./pages/mostokiada.swf']); } preloader_instance.addListener(load_list); добавляем листенер события, срабатывающего при загрузке основной swf-ки. var ths:Object = this; - создаём ссылку на _root, дабы использовать её в событии onLoad. После загрузки мы пререходим на 2 кадр и из-меняем содержимое клипа this['content'] на ./pages/mostokiada.swf. preloader_instance.setObject(this); эта функция пускает отображение загрузки основной страницы. Итак, теперь посмотрим, что за страшные класс pageManager:
конечно, всё это было-бы грамотнее прописать через static, но тогда возникает проблема размера. Просто данный класс используется во всех swf. И при явном указании в них на его использование, он будет в них подгружен. Соответственно идёт увеличение размера в несколько раз. Как вариант, можно использовать eval, но всё-таки простейший способ - это прописать его не как static. Теперь следующий класс - preloader:
так... меня уже помаленьку прёт... не люблю я столько комментов писать итак, пока можно забыть про третий класс, который с данными работает... Вообщем теперь вроде всё должно быть понятно... или нет? Если нет, спрашивай... |
| Автор: PROCESSOR 24.8.2005, 04:39 |
| Alex Batsuev Он в начале пути, поэтому врядли поймет . ( я кстати понял всё И считаю если делаеш простой сайт себе, то абсолютно не надо кучи флешек. Всё в одном. Да и AS пользовать надо минимум ... простому пользователю. |
| Автор: AlDev 24.8.2005, 04:51 | ||
| в такой структуре если прикрутить xml, то всё будет универсально, на уровне, что если добавить новый мост или что-то изменить, не надо копаться в коде, или вообще копаться где-ндь. Просто добавить в xml описание и новые swf. на самом деле структура достаточно экономна в плане траффика и изменяема. Код вообще ввезде будет миниамльным. Просто вызываем из любого клипа методы классов и всё.
не он, а она |
| Автор: Caramel 24.8.2005, 09:09 | ||||
Не скажи... А потом сидеть и долго разбираться что к чему? Хватит с меня эскизов в фотошопе. 150 слоев которые ленишься называть по человечески, а потом экстремально ищешь "вот ту полупрозрачную тонкую полосочку"
|
| Автор: PROCESSOR 24.8.2005, 15:19 |
| Caramel Пардон... Можно кучу элементов в одном слое держать, а группу в отдельном символе. Ну как хош. |