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

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

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

Регистрация: Aug 2008
Сообщений: 77
Отправить сообщение для hobbit1 с помощью ICQ
По умолчанию проблема с загрузкой

Добрый день, у меня возникла проблема:
создаю массив с юрликами на картинки которые надо загрузить в swf ку, а потом эти юрлики отправляю на загрузку, но почемуто первые 20 не грузятся, а оставшиеся 30 отлично грузятся, с чем это может быть связано, если по отдельности грузить то все нормально.

Старый 12.03.2010, 19:24
Snut вне форума Посмотреть профиль Отправить личное сообщение для Snut Посетить домашнюю страницу Snut Найти все сообщения от Snut
  № 2  
Ответить с цитированием
Snut
 
Аватар для Snut

Регистрация: Jun 2005
Адрес: Москва
Сообщений: 489
Отправить сообщение для Snut с помощью ICQ Отправить сообщение для Snut с помощью MSN Отправить сообщение для Snut с помощью Skype™
Покажите как грузите
__________________
Работаю

Старый 12.03.2010, 19:27
hobbit1 вне форума Посмотреть профиль Отправить личное сообщение для hobbit1 Найти все сообщения от hobbit1
  № 3  
Ответить с цитированием
hobbit1

Регистрация: Aug 2008
Сообщений: 77
Отправить сообщение для hobbit1 с помощью ICQ
Код AS3:
for (var d:Number=0; d<arrWork.length; d++)
			{
				var Pic1:LoadedPic=new LoadedPic(arrWork[d]);
				arrPicq[d]=Pic1;
 
}
Код AS3:
package load
{
	import flash.display.Loader;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.IOErrorEvent;
	import flash.events.ProgressEvent;
	import flash.net.*;
 
	public  class LoadedPic extends Sprite
	{
		public var all:Number=0;
		public var loadNum:Number=0;
		public var arrPic:Array=new Array();
		public var allComplite:Boolean=false;
		public var pic:Sprite;
		public var URL:String;
		public function LoadedPic(url:String)
		{		//URL=url;
			var imageLoader:Loader = new Loader();
			var theURL:String = url;
			var imageRequest:URLRequest = new URLRequest(url);
     		imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplite);
     		imageLoader.contentLoaderInfo.addEventListener(Event.INIT, Init);
     		imageLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progress);
     		imageLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, tryAgane);
 
		    imageLoader.load(imageRequest);
 
			function onComplite(event:Event):void
			{
				addChild(imageLoader.content);
				allComplite=true;
			}    
		    function Init(event:Event):void
		    {
		    	all=event.target.bytesTotal;
		    	trace (all+'   '+url)
			} 
			function progress(event:ProgressEvent):void
		    {
				loadNum=event.target.bytesLoaded;
			} 
			function tryAgane():void
			{
				trace ("tryAgane")
			}
		}
	}
}
корявенько немного я знаю

Старый 12.03.2010, 19:35
Snut вне форума Посмотреть профиль Отправить личное сообщение для Snut Посетить домашнюю страницу Snut Найти все сообщения от Snut
  № 4  
Ответить с цитированием
Snut
 
Аватар для Snut

Регистрация: Jun 2005
Адрес: Москва
Сообщений: 489
Отправить сообщение для Snut с помощью ICQ Отправить сообщение для Snut с помощью MSN Отправить сообщение для Snut с помощью Skype™
для начала вложенные функции вынесите а

Добавлено через 3 минуты
И кстати, загрузка - штука асинхронная, я бы ждал комплита от предыдущего и начинал грузить следующий. Попробуйте так, последовательность - никому не повредит.
__________________
Работаю

Старый 12.03.2010, 19:46
hobbit1 вне форума Посмотреть профиль Отправить личное сообщение для hobbit1 Найти все сообщения от hobbit1
  № 5  
Ответить с цитированием
hobbit1

Регистрация: Aug 2008
Сообщений: 77
Отправить сообщение для hobbit1 с помощью ICQ
но из-за последовательной загрузки время же сильно тормозится, всмысле увеличивается

Старый 12.03.2010, 19:50
Snut вне форума Посмотреть профиль Отправить личное сообщение для Snut Посетить домашнюю страницу Snut Найти все сообщения от Snut
  № 6  
Ответить с цитированием
Snut
 
Аватар для Snut

Регистрация: Jun 2005
Адрес: Москва
Сообщений: 489
Отправить сообщение для Snut с помощью ICQ Отправить сообщение для Snut с помощью MSN Отправить сообщение для Snut с помощью Skype™
вас 2 секунды сильно спасет?
__________________
Работаю

Старый 13.03.2010, 15:53
hobbit1 вне форума Посмотреть профиль Отправить личное сообщение для hobbit1 Найти все сообщения от hobbit1
  № 7  
Ответить с цитированием
hobbit1

Регистрация: Aug 2008
Сообщений: 77
Отправить сообщение для hobbit1 с помощью ICQ
после того как функции вынес, все стало работать, спасибо большое)))

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
В последовательной загрузке никакого выигрыша нет.
Заводим переменную totalLoading, которая равна 0 в начале, потом увеличиваем ее на один при каждом старте загрузки и вычитаем по одному при каждом комплите загрузки. Если она стала равно нулю (в функции обработки комплита) - все загрузки закончились. У меня так в некоторых приложениях по 20 файлов параллельно грузится и ничего.

А вот обработчики действительно надо выносить в отдельные функции.


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

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

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


 


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


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