![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jan 2006
Сообщений: 179
|
Есть небольшой класс для прелоадера:
Он работает, только одна проблемка, что он начинает срабатывать, но не сразу: показывать проценты и картинку загрузки начиная примерно с 40% ... а дальше все идет в штатном порядке... как все-таки его заставить раньше показывать процент загрузки хотя бы с 1% ![]() package com { import flash.display.MovieClip; import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.PixelSnapping; import flash.net.URLRequest; import flash.display.Loader; import flash.events.Event; public class Preloader extends MovieClip { public static const ENTRY_FRAME:Number=1; private var progressText:TextField; //private var pbp:ProgressBar; public function Preloader() { stop(); progressText = getChildByName("loading_txt") as TextField; //pbp = getChildByName("loading_pb") as ProgressBar; animation = getChildByName("animation") as MovieClip; //pbp.mode = ProgressBarMode.MANUAL; //pbp.setProgress(0, 100); loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandlerP); loaderInfo.addEventListener(Event.COMPLETE, completeHandlerP); } private function progressHandlerP(event:ProgressEvent):void { var loaded:uint = event.bytesLoaded; var total:uint = event.bytesTotal; var percentLoaded:Number = Math.round((loaded/total) * 100); animation.gotoAndStop(percentLoaded); //trace(percentLoaded) //pbp.setProgress(percentLoaded, 100); progressText.text = "Загрузка " + percentLoaded + "%"; } private function completeHandlerP(event:Event):void { addEventListener(Event.ENTER_FRAME, enterFrameHandler); } private function enterFrameHandler(event:Event):void { if (currentFrame >= Preloader.ENTRY_FRAME) { removeEventListener(Event.ENTER_FRAME, enterFrameHandler); gotoAndStop(2); } } } } |
|
|||||
|
Регистрация: Jan 2009
Сообщений: 1,651
|
О. Это ты отстал от жизни. Стартует прелоадер с 40%, потому что у тебя много тяжелых прилинкованых мувиков, у которых стоит галочка "'экспорт в первый кадр". Пока первый кадр не загружен - код не начнет исполнятся. Вот читай и смотри.
__________________
мой пустой блог |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 179
|
Скажите а только от этого зависит?
Посомтрел я видео, там надо всю структуру менять, скажите есть ли другой выход какой? Добавлено через 6 минут Странная реакиця, убрал галочки "'экспорт в первый кадр", стало еще хуже практически на 100% выскакивает теперь, что же это такое получается... Теперь опять лучше, короче все эти галочки дали мне 10% а где же ещё 30% ... Последний раз редактировалось motoroller; 31.12.2010 в 03:50. |
|
|||||
|
Суть действий сводится к тому, чтоб убрать максимум контента (по крайней мере того, который занимает большой объем памяти) из кадра, содержащего прелоадер. Ко всему этому стоит добавить, что кадры при запуске флеша проигрываются по мере загрузки этих кадров, а не всей флешки целиком. Поэтому в настройках нужно ставить экспорт в другой (например, 2й) кадр.
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
|
Регистрация: Jan 2009
Сообщений: 1,651
|
Если убрать "галочки", то экспортируемые элементы загружаются с тем кадром, где они впервые упоминаются в коде, или впервые оказываются на сцене.
В твоём случае возможно проще сделать внешний прелоадер, чтобы не менять структуру всей флешки.
__________________
мой пустой блог |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
+1
если все уже собрано и работает - проще прикрутить внешний прелоадер. |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 179
|
Вообщем я опнял что надо делать, скажите пожалуйста у меня несколько файлов для загрузки в разных местах, конечно хочется сделать универсальный прелоадер,с передачей параметров и тд.
Скажите реально сделать ресайз флешки, допустим у меня прелоадер 100X100, а после загрузки у меня флешка меняет размеры допустим 200X200? А то не хочется для каждой флешки еще отдельно и делать отдельный прелоадер |
|
|||||
|
Регистрация: Jan 2006
Сообщений: 179
|
Еще вопрос все-таки не стал я заморачивать с внешним прелоадером, нашел примерчик
Но почему-то стопорится тут Ошибка, Scene 1, Layer 'action', Frame 1, Line 56 1180: Call to a possibly undefined method updateAfterEvent. Скажите как этот метод можно поключить? |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:37. |
|
|
« Предыдущая тема | Следующая тема » |
|
|