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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.09.2007, 15:22
vvk80 вне форума Посмотреть профиль Отправить личное сообщение для vvk80 Найти все сообщения от vvk80
  № 1  
Ответить с цитированием
vvk80
[+3 09.12.07]

Регистрация: Oct 2006
Сообщений: 114
По умолчанию На слабой машине не загружаются картинки

Уважаемые форумчане!

Занялся вот тут тестированием своего небольшого проекта и выяснилось, что на слабой машине (PIII, 750, 256ОЗУ) почему-то не подгружаются некоторые картинки (примерно 100X100пикселей). Причем прелоадер срабатывает нормально, показывает 100% и все, начинается анимация, на сцене висит только прелоадер.

Из этого я понимаю, что почему-то не срабатывает событие onComplete... Но почему??? Как мне это все отдебажить? (на слабой машине Flash 9 не стоит).

На том компьютере, где проект разрабатывался - все ок, никакокого намека на проблему - все летает...

Помогите, пожалуйста, понять в чем дело и отловить эту ошибку...

Заранее спасибо!

Старый 25.09.2007, 16:01
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 2  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
Вы хотите, что все купили себе такие машины, поставили на них 9й флэш, а потом чисто за счёт своих экстрасенсорных способностей воспроизвели ваш код?

Старый 25.09.2007, 16:08
vvk80 вне форума Посмотреть профиль Отправить личное сообщение для vvk80 Найти все сообщения от vvk80
  № 3  
Ответить с цитированием
vvk80
[+3 09.12.07]

Регистрация: Oct 2006
Сообщений: 114
Я просто думал, что эту проблемо можно как-нибудь быстро решить

вот код loaderа
package
Код:
package
{
   import flash.display.*;
  	import flash.text.*;
	import flash.events.*;
	import flash.net.*;
	import flash.geom.*;
	import flash.errors.*;
	
	public class BaseClass extends Sprite 
	{
		//the BaseClass in the base class for all loadable images
		protected var Container:Sprite = new Sprite(); //maain parent container fot this class
		protected var imgContainer:Sprite = new Sprite(); //container for ico image
		
		private var progress_txt:TextField = new TextField(); // the implementation of the preloader // to do: make a graphic a preloader
		
		//trying graphic implementation of the preloader
		//to do make preloader as customizable as possible
		private var preloader:Shape;
		private var preloader2:Shape;
				
		private var loadComplete:Event;
		protected var icoPicURL:String; 
		
		public function BaseClass(cont:Sprite, strTarget:String):void
		{
			this.Container = cont;
			this.icoPicURL = strTarget;
			trace("Base class ContructorCalled");
		}
		
		protected function loadImg(container:Sprite, target:String):void
		{
			var contentContainer:Sprite = new Sprite();
			contentContainer.name = "Content";
			
			try
			{
				var swfLoader:Loader = new Loader();
				var swfUrl:String = target;
				var swfUrlReg:URLRequest = new URLRequest(swfUrl);
				swfLoader.load(swfUrlReg);
			}
			catch(e:IOError)
			{
				trace(e.message);
			}
			swfLoader.contentLoaderInfo.addEventListener(Event.OPEN, showPreloader);
			swfLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, showProgress);
			swfLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded);
			
			function showPreloader(evt:Event):void
			{
				progress_txt.autoSize = TextFieldAutoSize.LEFT;
				preloader = new Shape();
				preloader.graphics.beginFill(0xFFFFFF);
				preloader.graphics.lineStyle(0,0XFFFFFF);
				preloader.graphics.drawRect(0,40,100,10);
				preloader.graphics.endFill();
				imgContainer.addChild(preloader);
				
				preloader2 = new Shape();
				preloader2.graphics.beginFill(0xC6C6CF);
				preloader2.graphics.lineStyle(0,0xFFFFFF);
				preloader2.graphics.drawRect(0,40,100,10);
				preloader2.graphics.endFill();
				preloader2.scaleX = 0;
				imgContainer.addChild(preloader2);
				
				
				imgContainer.addChild(progress_txt);
			}
			function showProgress(evt:ProgressEvent):void
			{
				var _result:uint = (evt.bytesLoaded*100)/evt.bytesTotal
				preloader2.scaleX = _result/100;
				progress_txt.y = 50;
				progress_txt.x = 35;
				progress_txt.text = _result.toString() +"%"; //"loaded:"+evt.bytesLoaded+" from "+evt.bytesTotal;
			}
			
			function swfLoaded(event:Event):void
			{
				imgContainer.removeChild(progress_txt);
				imgContainer.removeChild(preloader);
				imgContainer.removeChild(preloader2);
				contentContainer.addChild(swfLoader.content);
				container.addChild(contentContainer);
				container.buttonMode = true;
				loadComplete = new Event("loadComplete", true);
				dispatchEvent(loadComplete);
				//container.mouseChildren = false;
		    }
		}
		
		public function initImg(_xCoord:Number, _yCoord:Number):void
		{
			trace("initImg function of the BaseClass called");
			loadImg(imgContainer,icoPicURL);
			Container.addChild(imgContainer);
			imgContainer.cacheAsBitmap = true;
			imgContainer.x =_xCoord;
			imgContainer.y =_yCoord;
		}
		public function removeImg():void
		{
			Container.removeChild(imgContainer);
		}
	}
}
В любом случае, может кто-нибудь подскажет, как произвести полноценный debug на удаленной машине без установленного flash9? Если это возможно, конечно...

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


Последний раз редактировалось vvk80; 25.09.2007 в 16:24.
Старый 25.09.2007, 18:05
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 4  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
Container - это класс? если нет, то почему с большой буквы назван?
функции showPreloader, showProgress, swfLoaded могут быть удалены мусорщиком. на них нигде нет ссылок кроме как в самом диспетчере. я не уверен, что они по идеи могут умереть. почему нельзя сделать их методами класса?

Старый 25.09.2007, 20:39
vvk80 вне форума Посмотреть профиль Отправить личное сообщение для vvk80 Найти все сообщения от vvk80
  № 5  
Ответить с цитированием
vvk80
[+3 09.12.07]

Регистрация: Oct 2006
Сообщений: 114
Цитата:
Сообщение от BlooDHounD
Container - это класс? если нет, то почему с большой буквы назван?
функции showPreloader, showProgress, swfLoaded могут быть удалены мусорщиком. на них нигде нет ссылок кроме как в самом диспетчере. я не уверен, что они по идеи могут умереть. почему нельзя сделать их методами класса?
Огромное спасибо за замечания! Обязательно исправлю...

Старый 25.09.2007, 20:55
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Интересно, код для девятого плеера и тут же написано, что 9-ый плеер не установлен на машине. Конечно вы ничего не увидите.

Старый 26.09.2007, 12:41
vvk80 вне форума Посмотреть профиль Отправить личное сообщение для vvk80 Найти все сообщения от vvk80
  № 7  
Ответить с цитированием
vvk80
[+3 09.12.07]

Регистрация: Oct 2006
Сообщений: 114
Цитата:
Сообщение от __etc
Интересно, код для девятого плеера и тут же написано, что 9-ый плеер не установлен на машине. Конечно вы ничего не увидите.
данный код запускается через Windows Projector, т.е. у меня есть Windows Projector .exe файл, в который по мере необходимости подгружаются другие ролики (как AS 3, так и AS 2), которые (только AS3) и используют этот класс для загрузки в себя картинок... причем только один файл глючит, все остальные срабатыывают без проблем...

У меня складывается впечатление, что flash просто почему-то в рэндом порядке не дожидается окончательной загрузки картинки, а начинает двигать анимаацию дальше, хотя у меня четко все вписано в действия OnComplete

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

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

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


 


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


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