![]() |
|
||||||||||
|
|||||
|
Тогда какой смысл прогрессбаре или как его собственно заставить работать в динамике с программой? Собственно было желание сделать прогрессбар на обработку объектов (высчитывает скажем около 1000 объектов, после чего добавляет на дисплей), во время которой программа зависает на пару секунд. В этот момент и хотелось бы чтото вроде прогресс бара.
|
|
|||||
|
Спасибо за растолкование, буду пробывать
Добавлено через 1 час 24 минуты Рассматриваемый прелоадер из 3 поста этой темы захватывает все события происходящие от его вызова и до функции указаной в прелоадере как "mainMVC"? Последний раз редактировалось Heavy; 12.07.2011 в 15:05. |
|
|||||
|
Рассматриваемый прелоадер из третьего поста просто становится в кадр который идет перед мейном. Следовательно весь код в нем выполняется до того как мейн будет загружен.
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
|
Тогда спрошу от обратного. Запустится ли функция Мейн, если объем данных еще не загрузился, потому что до этого у меня были листенеры которые сообщали о загрузке и только тогда запускали мейн...
|
|
|||||
|
Какая "функция Мейн"? Конструктор класса Main? Нет не запустится, он еще не загрузился на этапе выполнения прелоадера. Более того, если его принудительно не создать, он вообще не запустится никогда.
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
|
Извините, но что в данном случае есть "принудительно" :
var mainClass:Class = getDefinitionByName("Main") as Class; addChild(new mainClass() as DisplayObject); |
|
|||||
|
Перерыл форум за последний год с темами про такую же модель прелоадера, но везде в примерах указано что они грузят картинку
и не понятно как можно произвести загрузку при помощи URLLoader
|
|
|||||
|
Картинку они грузят просто чтоб чем-то нагрузить флешку чтобы добавить веса. Можно на нее не обращать внимания.
Короче суть флеша и прелоадера во флеше в следующем: 1. Есть флешка. 2. Флешка состоит из кадров и кода 3. А теперь надо понимать следующую штуку: флешка начинает проигрывать следующий кадр как только он уже загружен. Собственно поэтому прелоадеры делают легкими и пихают их в первый кадр. Так как даже если вся флешка будет 10мб весить, а прелоадер (т.е. первый кадр) будет весить 30кб - то этот первый кадр начнет проигрываться автоматом сразу после его загрузки, не дожидаясь загрузки основной флешки. 4. И теперь еще один момент. Так как мы пишем не на таймлайне (т.е. в кадрах), а кодом - то допустим флешка среднестатистического пользователя флешер.ру будет состоять всего из одного кадра если без прелоадера, и из двух если с прелоадером. Так как плевали мы на таймлайн. 5. Но то что мы куда-то там плевали адобов не особо парит. Флешка все-равно играется по кадрам и то что я написал в третьем пункте все-равно работает. И чтоб как-то уладить это наплевательство разработчики флекса запилили такую вот штуку как: которая вставляет кадр с указанным контентом там где стоит данный метатег. В данном случае перед инициализацией класса Main. т.е. что мы имеем в итоге. флешку из двух кадров. в первом кадре у нас прелоадер который очень легкий, и который только и умеет что мерять загрузку флешки. во втором класс мейн который содержит остальной код, и который тяжелый ровно настолько насколько мы его нагрузили всякой мутью. Флешплеер грузит флешку по порядку. По кадрам. Сначала первый. Прелоадер. Хоп - он загрузился, начал выполняться. Потом грузит остальную флешку. Но тут еще одна мулька: Второй кадр у нас содержит только код, это не какой-то там графический контент на таймлайне. Это просто класс. И вот этот код сам по себе исполняться не начнет. Его надо как-то заставить запуститься. И вот здесь нам пригодится конструкция: var mainClass:Class = getDefinitionByName("Main") as Class; addChild(new mainClass() as DisplayObject); Но на него мы ответим так: Если мы импортируем мейн в прелоадер тогда в задницу все наши танцы с бубном вокруг двух кадров. Так как мейн будет грузиться сразу же в первом кадре, так как на него будет стоять в нем ссылка. Поэтому мы грузим безымянную неведомую х**ню. (Это с точки зрения флеша она безымянная-неведомая, но мы таки знаем как ее зовут). А потом уже инициализируем эту неведомую муть вот такой вот штукой как гетДефинишн. Ведь как только флешка загрузилась все ее классы стали доступны в некой коробочке в которой лежат все классы. И мы по имени класса из этой коробочки его достаем и инициализируем. З.Ы. А к чему тут урллоадер я так и не понял...
__________________
Кто к нам с чем для чего - тот у нас того от того. |
![]() |
![]() |
Часовой пояс GMT +4, время: 05:07. |
|
|
« Предыдущая тема | Следующая тема » |
|
|