Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.04.2011, 02:01
alexmihel вне форума Посмотреть профиль Отправить личное сообщение для alexmihel Найти все сообщения от alexmihel
  № 1  
Ответить с цитированием
alexmihel

Регистрация: Apr 2011
Сообщений: 22
По умолчанию Работа с экранами

Доброго времени суток! Подскажите, пожалуйста, новичку в AS3:

Стоит задача сделать мультимедийное издание (диск со статьями, изображениями, галереями и пр.), в этом самом издании должно быть несколько разделов, допустим: "Художники", "Галерея", "О проекте" и т.д. В каждом разделе (экране) есть кнопки возврата на предыдущую страницу и к главному меню. Вопрос заключается вот в чем: как лучше реализовать (или правильней) навигацию по разделам -

1. делать кадры на шкале времени и при клике на пункте меню переходить по метке кадра;
2. делать подгрузку части нужного контента через экземпляр компонента UILoader (например, снизу экрана статичная часть меню, а сверху компонент UILoader);
3. делать подгрузку внешнего SWF-файла как автономного раздела.

Заранее спасибо!

Старый 16.04.2011, 03:30
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Удалять со сцены текущий экран и добавлять новый – чем не подходит?
__________________
Reality.getBounds(this);

Старый 16.04.2011, 03:47
alexmihel вне форума Посмотреть профиль Отправить личное сообщение для alexmihel Найти все сообщения от alexmihel
  № 3  
Ответить с цитированием
alexmihel

Регистрация: Apr 2011
Сообщений: 22
возможно, только некоторые из экранов будут достаточно "грузными" по контенту (например, фотогалерея), поэтому нужно чтобы при навигации по системе у пользователя не было ощущения дискомфорта от постоянных подгрузок одних и тех-же экранов, на которых он уже бывал... поэтому добавление и удаление возможно как раз и не подходит... либо может один раз добавить экран, а потом его хранить в каком-то кэше?

Старый 16.04.2011, 13:02
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 4  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Удаляя объект из списка отображения вы его не удаляете из памяти. Храните ссылку на уже созданные объекты и делайте что хотите с ними.
Код AS3:
private var gellery:Gallery = new Gallery();
screensContainer.addChild(gallery);
//...
screensContainer.removeChild(gallery);
//...
screensContainer.addChild(gallery);
//...

Старый 16.04.2011, 14:05
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 5  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Дискомфорт будет от постоянных подгрузок - то есть, если части приложения будут храниться во внешних файлах (например, на CD доступ к ним может занимать какое-то время, особенно если CD-ROM "уснул"). Когда экраны находятся в одном swf, они уже в памяти. Никакого дискомфорта. При этом Вам как разработчику будет удобней работать с частями как отдельными клипами, а не держать все на одной временной шкале. И вообще, поймите что временная шкала – для мультфильмов, и к приложениям с "навигацией" никакого отношения не имеет. Программа и Анимация - две абсолютно разных сущности, программа не синхронизирована с временем, она работает с событиями. Анимация - синхронизирована, и в ней нет места для событий, вмешательства юзера или неопределенных по времени загрузок контента. В программе нет никаких кадров, она не управляется отсчетом времени.
__________________
Reality.getBounds(this);

Старый 26.04.2011, 13:24
alexmihel вне форума Посмотреть профиль Отправить личное сообщение для alexmihel Найти все сообщения от alexmihel
  № 6  
Ответить с цитированием
alexmihel

Регистрация: Apr 2011
Сообщений: 22
спасибо за совет, я понял, что нужно делать на основе внешних SWF... однако следом у меня возникает еще вопрос технического характера: как организовать навигацию? Т.е. из главного меню в контейнер Sprite мы загружаем какой-то ролик, как потом вернуться назад, ведь один контейнер загружен поверх меню? или можно как-то обратится к родителю для закрытия самого себя? А если мы подгружаем контейнеры в контейнеры до 3-4 уровней вложенности один в другой?

может быть у кого-то есть пример подобных работ - помогите пожалуйста!!!

Старый 26.04.2011, 14:13
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 7  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Что значит "поверх меню"? Зачем? Панель навигации должна быть доступна, на крайний случай прятаться и выскакивать при наведении мыши в определенное место, как в видеоплеерах.
__________________
Reality.getBounds(this);

Старый 26.04.2011, 15:17
alexmihel вне форума Посмотреть профиль Отправить личное сообщение для alexmihel Найти все сообщения от alexmihel
  № 8  
Ответить с цитированием
alexmihel

Регистрация: Apr 2011
Сообщений: 22
сейчас покажу как это нарисовал дизайнер:
это главное меню



это подменю



экран с текстом



нижнее меню у всех "неглавных" экранов одно и тоже - логотип (домой), стрелка (назад).


Последний раз редактировалось alexmihel; 26.04.2011 в 15:21.
Старый 26.04.2011, 18:01
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 9  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
"закрытие самого себя" это не кошерно с точки зрения ООП. Можно просто послать событие "убей меня" главному классу или классу-навигатору. Экран и нижняя панель удаляются – и вот оно, меню.
Подгружать по 3-4 уровня вложенности тоже смысла не вижу – создайте "историю" - массив ссылок по которым ходил юзер. Поскольку кнопки "вперед" у Вас в дизайне нет, то все еще проще – когда юзер "углюбляется" по уровням меню, Вы добавляете в конец массива новую ссылку и открываете ее. Когда жмет "назад" - удаляете текущее окно и последнюю ссылку из массива, и загружаете свф по предпоследней (теперь последней) ссылке. Зачем забивать память объектами, которые все-равно не видны? Пусть всегда будет один "экран" и нижняя панель меню.

Добавлено через 4 минуты
)) по дизайну - советую поменять местами "Каталоги" и "Творческие поиски", которые тогда можно будет написать в одну строчку и разместить свободно в достаточном пространстве.
__________________
Reality.getBounds(this);

Старый 27.04.2011, 00:29
alexmihel вне форума Посмотреть профиль Отправить личное сообщение для alexmihel Найти все сообщения от alexmihel
  № 10  
Ответить с цитированием
alexmihel

Регистрация: Apr 2011
Сообщений: 22
)) да, дизайнер, увы, жуть...

Вроде немного стала проясниваться структура приложения... Буду пробовать))

Создать новую тему Ответ Часовой пояс GMT +4, время: 08:06.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
swf , UILOader , мультимедиа издание
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 08:06.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.