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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.07.2009, 16:32
Dos87 вне форума Посмотреть профиль Отправить личное сообщение для Dos87 Найти все сообщения от Dos87
  № 1  
Ответить с цитированием
Dos87
[+1 02.07.09]

Регистрация: Jun 2009
Сообщений: 39
По умолчанию Глючит bytesTotal в прелоадере

Есть стандартный прелоадер.
Вроде как всё работает, но не рассчитать процент загрузки, т.к. bytesTotal при предпросмотре работает норм, когда заливаю на сервак в EnternetExplorer'e показывает всё время 0, в FireFox'e всегда то же число, что и bytesLoaded. Следовательно процент или 100% или infinity%.
Вот код:
Код AS3:
package {
	import flash.display.MovieClip;
	import flash.display.Sprite;
	import flash.display.StageScaleMode;
	import flash.display.StageAlign;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.events.ProgressEvent;
	import flash.events.Event;
	import main.Main;
 
 
	public class ExportSecondFrame extends MovieClip {
		private var preloaderText:TextField = new TextField;
		private var progressBar:Sprite;
 
		public function ExportSecondFrame() {
			super();
			stop();
			stage.showDefaultContextMenu = false;
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
			progressBar = getChildByName("pBar") as Sprite;
			progressBar.scaleX = 0;
			preloaderText.autoSize = TextFieldAutoSize.CENTER;
			preloaderText.x = 303.5;
			preloaderText.y = 310;
			addChild(preloaderText);
			loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
			loaderInfo.addEventListener(Event.COMPLETE, completeHandler);
 
		}
 
		private function progressHandler(e:ProgressEvent):void {
			progressBar.scaleX = e.bytesLoaded/e.bytesTotal;
			preloaderText.text = e.bytesLoaded.toString() + " из " + e.bytesTotal.toString() + "  (" + (e.bytesLoaded/e.bytesTotal)*100 + "%)";
		}
 
		private function completeHandler(event:Event):void {
			play();
			addEventListener(Event.ENTER_FRAME, enterFrameHandler);
		}
 
		private function enterFrameHandler(event:Event):void {
			if (currentFrame >= 3) {
				gotoAndStop(2);
				removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
				loaderInfo.removeEventListener(Event.COMPLETE, completeHandler);
				loaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressHandler);
				preloaderText = null;
				main();
			}
		}
 
		private function main():void {
			var programClass:Class = loaderInfo.applicationDomain.getDefinition("main.Main") as Class;
			var program:MovieClip = new programClass() as MovieClip;
			addChild(program);
		}
	}
}
Плиз хелп!

Старый 02.07.2009, 17:22
Dimonte вне форума Посмотреть профиль Отправить личное сообщение для Dimonte Найти все сообщения от Dimonte
  № 2  
Ответить с цитированием
Dimonte

Регистрация: Jun 2008
Сообщений: 51
У вас прелоадер, как я понимаю, грузит саму флешку? Если да, то вам нужен stage.loaderInfo. Кроме того, вместо хендлеров на ProgressEvent, можно повесить на ENTER_FRAME обработчик прогресс бара с обращением stage.loaderInfo.bytesLoaded / stage.loaderInfo.bytesTotal.

Старый 02.07.2009, 18:17
Dos87 вне форума Посмотреть профиль Отправить личное сообщение для Dos87 Найти все сообщения от Dos87
  № 3  
Ответить с цитированием
Dos87
[+1 02.07.09]

Регистрация: Jun 2009
Сообщений: 39
Да, прелоадер грузит всю флешку.
При использовании stage.loaderInfo, не срабатывает ни один хендлер.
Так же попробовал PROGRESS и COMPLETE заменить ENTER_FRAME - получается то же самое. В IE bytesTotal=0 в FireFox bytesTotal=bytesLoaded. Причем bytesLoaded работает стабильно.
Перепробовал уже всё, что знал =((

Добавлено через 6 минут
Вот ссылка:
http://empirepromoting.ru/test/bitmap/Main.html

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

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
цвет аццкий
возможно сервак не отдает размер файла. вот вывод firebug:
Код:
Server nginx/0.6.31
Date	Thu, 02 Jul 2009 17:59:49 GMT
Content-Type	application/x-shockwave-flash
Transfer-Encoding	chunked
Connection	keep-alive
Keep-Alive	timeout=20
Last-Modified	Thu, 02 Jul 2009 13:22:35 GMT
Etag	"10f8080-10ca32-eed21cc0"
Accept-Ranges	bytes
Vary	Accept-Encoding,User-Agent
Content-Encoding	gzip
как видно размера файла не приходит
__________________
я могу стать всем, если только захочу

Старый 02.07.2009, 23:34
CEBEP вне форума Посмотреть профиль Отправить личное сообщение для CEBEP Посетить домашнюю страницу CEBEP Найти все сообщения от CEBEP
  № 5  
Ответить с цитированием
CEBEP
 
Аватар для CEBEP

Регистрация: Nov 2006
Сообщений: 688
Отправить сообщение для CEBEP с помощью ICQ Отправить сообщение для CEBEP с помощью Skype™
Кстати у меня тоже самое, как раз хотел тему создать либо 0 либо 100% сразу
__________________
"I am the terror that flaps in the night…!"

Старый 03.07.2009, 00:09
Dos87 вне форума Посмотреть профиль Отправить личное сообщение для Dos87 Найти все сообщения от Dos87
  № 6  
Ответить с цитированием
Dos87
[+1 02.07.09]

Регистрация: Jun 2009
Сообщений: 39
Ну, цвет, эт йа так просто поставил. Это у меня кусок игры. Для Вконтакта пишу.

Спс за ответ.

Старый 03.07.2009, 00:29
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Цитата:
Сообщение от Dos87 Посмотреть сообщение
...йа...
Первое предупреждение за сленг.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 03.07.2009, 03:27
Mur4ik вне форума Посмотреть профиль Отправить личное сообщение для Mur4ik Найти все сообщения от Mur4ik
  № 8  
Ответить с цитированием
Mur4ik
ветеран форума

Регистрация: Sep 2008
Сообщений: 717
Записей в блоге: 4
Отправить сообщение для Mur4ik с помощью ICQ
Если с сервером проблемы, пропишите bytesTotal в ручную...
Вы ведь знаете сколько весит то что Вы грузите?
__________________
trace("Остановите Землю, я сойду!!!");

Старый 03.07.2009, 15:05
Dos87 вне форума Посмотреть профиль Отправить личное сообщение для Dos87 Найти все сообщения от Dos87
  № 9  
Ответить с цитированием
Dos87
[+1 02.07.09]

Регистрация: Jun 2009
Сообщений: 39
Думаю на Вконтактовском серваке должно заработать, если нет - придётся прописывать вручную...

Старый 29.07.2009, 19:30
vscapital вне форума Посмотреть профиль Отправить личное сообщение для vscapital Найти все сообщения от vscapital
  № 10  
Ответить с цитированием
vscapital

Регистрация: Jul 2009
Сообщений: 4
Никто не придумал как решить эту проблему без ручного прописывания размера ??? Ведь даже если вручную прописывать то уже на перед не знаешь сколько будет весить файл ... Как обойти эту проблему???

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

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

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


 


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


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