![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2011
Сообщений: 22
|
Доброго времени суток! Подскажите, пожалуйста, новичку в AS3:
Стоит задача сделать мультимедийное издание (диск со статьями, изображениями, галереями и пр.), в этом самом издании должно быть несколько разделов, допустим: "Художники", "Галерея", "О проекте" и т.д. В каждом разделе (экране) есть кнопки возврата на предыдущую страницу и к главному меню. Вопрос заключается вот в чем: как лучше реализовать (или правильней) навигацию по разделам - 1. делать кадры на шкале времени и при клике на пункте меню переходить по метке кадра; 2. делать подгрузку части нужного контента через экземпляр компонента UILoader (например, снизу экрана статичная часть меню, а сверху компонент UILoader); 3. делать подгрузку внешнего SWF-файла как автономного раздела. Заранее спасибо! |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Удалять со сцены текущий экран и добавлять новый – чем не подходит?
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Apr 2011
Сообщений: 22
|
возможно, только некоторые из экранов будут достаточно "грузными" по контенту (например, фотогалерея), поэтому нужно чтобы при навигации по системе у пользователя не было ощущения дискомфорта от постоянных подгрузок одних и тех-же экранов, на которых он уже бывал... поэтому добавление и удаление возможно как раз и не подходит... либо может один раз добавить экран, а потом его хранить в каком-то кэше?
|
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Удаляя объект из списка отображения вы его не удаляете из памяти. Храните ссылку на уже созданные объекты и делайте что хотите с ними.
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Дискомфорт будет от постоянных подгрузок - то есть, если части приложения будут храниться во внешних файлах (например, на CD доступ к ним может занимать какое-то время, особенно если CD-ROM "уснул"). Когда экраны находятся в одном swf, они уже в памяти. Никакого дискомфорта. При этом Вам как разработчику будет удобней работать с частями как отдельными клипами, а не держать все на одной временной шкале. И вообще, поймите что временная шкала – для мультфильмов, и к приложениям с "навигацией" никакого отношения не имеет. Программа и Анимация - две абсолютно разных сущности, программа не синхронизирована с временем, она работает с событиями. Анимация - синхронизирована, и в ней нет места для событий, вмешательства юзера или неопределенных по времени загрузок контента. В программе нет никаких кадров, она не управляется отсчетом времени.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Apr 2011
Сообщений: 22
|
спасибо за совет, я понял, что нужно делать на основе внешних SWF... однако следом у меня возникает еще вопрос технического характера: как организовать навигацию? Т.е. из главного меню в контейнер Sprite мы загружаем какой-то ролик, как потом вернуться назад, ведь один контейнер загружен поверх меню? или можно как-то обратится к родителю для закрытия самого себя? А если мы подгружаем контейнеры в контейнеры до 3-4 уровней вложенности один в другой?
может быть у кого-то есть пример подобных работ - помогите пожалуйста!!! |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Что значит "поверх меню"? Зачем? Панель навигации должна быть доступна, на крайний случай прятаться и выскакивать при наведении мыши в определенное место, как в видеоплеерах.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Apr 2011
Сообщений: 22
|
сейчас покажу как это нарисовал дизайнер:
это главное меню ![]() это подменю ![]() экран с текстом ![]() нижнее меню у всех "неглавных" экранов одно и тоже - логотип (домой), стрелка (назад). Последний раз редактировалось alexmihel; 26.04.2011 в 15:21. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
"закрытие самого себя" это не кошерно с точки зрения ООП. Можно просто послать событие "убей меня" главному классу или классу-навигатору. Экран и нижняя панель удаляются – и вот оно, меню.
Подгружать по 3-4 уровня вложенности тоже смысла не вижу – создайте "историю" - массив ссылок по которым ходил юзер. Поскольку кнопки "вперед" у Вас в дизайне нет, то все еще проще – когда юзер "углюбляется" по уровням меню, Вы добавляете в конец массива новую ссылку и открываете ее. Когда жмет "назад" - удаляете текущее окно и последнюю ссылку из массива, и загружаете свф по предпоследней (теперь последней) ссылке. Зачем забивать память объектами, которые все-равно не видны? Пусть всегда будет один "экран" и нижняя панель меню. Добавлено через 4 минуты )) по дизайну - советую поменять местами "Каталоги" и "Творческие поиски", которые тогда можно будет написать в одну строчку и разместить свободно в достаточном пространстве.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Apr 2011
Сообщений: 22
|
)) да, дизайнер, увы, жуть...
Вроде немного стала проясниваться структура приложения... Буду пробовать)) |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:06. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| swf , UILOader , мультимедиа издание |
| Опции темы | |
| Опции просмотра | |
|
|