Простой прелоадер на ActionScript 3.0. Дополнение.

Небольшое дополнение к довольно старому посту Простой прелоадер на ActionScript 3.0. Если вы хотите выводить в текстовом поле прогресс загрузки в килобайтах и/или процентах, то можно использовать код следующего вида...

Код ActionScript 3.0:

/* устанавливаем значение переменных */ var w:uint = 200;// ширина прелоадера var h:uint = 10;// высота прелоадера var colorFon:uint = 0xcccccc;// цвет фона прелоадера var color:uint = 0x333333;// цвет индикатора загрузки /* останавливаем воспроизведение флеш-ролика в первом кадре */ stop(); /* рисуем контейнер прелоадера */ var pContainer:Sprite = new Sprite(); pContainer.graphics.lineStyle(1,color,1); pContainer.graphics.beginFill(colorFon,1); pContainer.graphics.drawRect(0,0,w,h); pContainer.graphics.endFill(); addChild(pContainer); /* помещаем наш прелоадер на середину флеш-ролика */ pContainer.x = (stage.stageWidth - w) / 2; pContainer.y = (stage.stageHeight - h) / 2; /* рисуем индикатор загрузки */ var indicator:Sprite = new Sprite(); indicator.graphics.beginFill(color,1); indicator.graphics.drawRect(0,0,w,h); indicator.graphics.endFill(); pContainer.addChild(indicator); /* задаём форматирование для текстового поля */ var pF:TextFormat = new TextFormat(); pF.bold = true; pF.color = color; pF.font = "Verdana"; pF.size = 12; /* само текстовое поле, в котором будет отображаться процесс загрузки */ var pTF:TextField = new TextField(); pTF.defaultTextFormat = pF; pTF.selectable = false; pTF.autoSize = TextFieldAutoSize.LEFT; pContainer.addChild(pTF); pTF.text = "Loading..."; pTF.y = h; /* в каждом новом кадре проверяем объём загруженной информации и на основе этой информации изменяем индикатор загрузки + выводим данные в процентах и килобайтах */ addEventListener(Event.ENTER_FRAME, onEnterFrames); function onEnterFrames(event:Event) { var bLoaded:uint = loaderInfo.bytesLoaded; var bTotal:uint = loaderInfo.bytesTotal; indicator.scaleX = bLoaded / bTotal; /* вычисляем, сколько процентов загружено */ var p:uint = Math.floor(bLoaded / bTotal * 100); /* вычисляем, сколько килобайт загружено */ var kb:uint = Math.floor(bLoaded / 1000); /* выводим информацию в текстовое поле */ pTF.text = "Loading: " + p + "% (" + kb + "Kb)"; /* если флеш-ролик загружен полностью, то удаляем сам прелоадер и переходим на следующий кадр */ if (bLoaded >= bTotal) { removeChild(pContainer); removeEventListener(Event.ENTER_FRAME, onEnterFrames); nextFrame();// или gotoAndPlay(номер_кадра); } }

Результат:

Приведённый выше пример - это только демонстрация работы прелоадера для flash-ролика. И для большего удобства демка зациклена. Настоящий прелоадер, естественно, сработает только один цикл и, достигнув 100-процентной загрузки, выполнит код из блока if.

Автор: admin

Дата добавления: 2012-06-18

Просмотров: 3844

Рейтинг поста: +9-

Правила перепечатки

Социальные закладки:
Комментарии:
Комментатор
Комментарий добавил(а): Апчхи
Дата добавления: 2013-06-06
Думаю смогу перевести в 3.0, очень большое спасибо!
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2013-06-04
> Удивительный блог! Сколько полезного материала!

Спасибо. Оч приятно слышать :-)

> А вы можете написать статью, а еще лучше видеостатью, где в своем стиле расскажите про простейших флеш-магазин? Что-бы можно было обмениваться между магазином и персонажем, при некоторых условия, и что бы персонаж мог определять что у него сейчас в руках?

Что-то подобное я уже писал, правда на AS 2.0 - http://edapskov.ru/pages.php?id=236

Сейчас, к сожалению, мало времени, чтобы писать в блог.
Комментатор
Комментарий добавил(а): Апчхи
Дата добавления: 2013-06-04
Удивительный блог! Сколько полезного материала! А вы можете написать статью, а еще лучше видеостатью, где в своем стиле расскажите про простейших флеш-магазин? Что-бы можно было обмениваться между магазином и персонажем, при некоторых условия, и что бы персонаж мог определять что у него сейчас в руках?
Добавить комментарий:







[ + ] помощь по форматирование текста

Идиот-тест

Если все обязательные поля (отмечены * ) заполнены необходимой информацией, то нажимаем кнопку Добавить комментарий.

Меню
Подписка
Рубрики
Метки
Последние комментарии
Рейтинг постов
Реклама
Друзья
География гостей
Статистика
Яндекс.Метрика