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

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

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

Регистрация: May 2014
Сообщений: 54
По умолчанию Приложение созданное в Flash Develop работает не корректно

У меня есть приложение которое загружает другой swf. Но оно работает не корректно, типа качество ухудшилась, кадры падают. Когда я открываю тот swf на прямую то все ок, но когда оно подгружается с этого приложения то пипец, а еще приложение на мобиле иногда вылетает не включав, или во время работы. Именно тот фаил работает на все сто. Это я сделал из за прелоадера. Что бы было видно что клип подгружается. Что мне сделать что бы все это избежать что бы все работало так как будто запускаешь ту SWF на примую.

Код:
Код AS3:
package 
{
 
	import flash.display.Loader;
	import flash.display.Sprite;
	import flash.display3D.textures.Texture;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.events.ProgressEvent;
	import flash.net.URLRequest;
	import flash.text.TextField;
 
	[SWF(width = "500", height = "300", backgroundColor="black")]
	public class Main extends Sprite 
	{		
		public var loader:Loader = new Loader();
		public var request:URLRequest = new URLRequest("index.swf"); 
		public var txt:TextField = new TextField();
 
		public function Main():void 
		{
		 this.loader.load(request);
	     this.loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, OnProgress); 
		 this.loader.contentLoaderInfo.addEventListener(Event.COMPLETE, OnComplete);
 
 
 
		}		
 
		private function OnProgress(e:ProgressEvent):void {
			var site_loader_progress:int = 100 * e.bytesLoaded / e.bytesTotal;
             txt.text = site_loader_progress + " %";
			 addChild(this.txt);
			 this.txt.x = 120;
			 this.txt.y = 170;
			 this.txt.textColor = 0xFF0000;
			 txt.scaleX = 20;
			}
		private function OnComplete(e:Event):void {
			addChild(this.loader);
			removeEventListener(Event.COMPLETE, OnComplete);
			removeEventListener(ProgressEvent.PROGRESS, OnProgress);
			}
			}			
						}
__________________
Деньги это бумажки радости...

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

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Может у загружающего swf fsp ниже, чем у загружаемого?

Цитата:
removeEventListener(Event.COMPLETE, OnComplete);
removeEventListener(ProgressEvent.PROGRESS, OnProgress);
Тут явная ошибка. Слушатели нужно удалять у loader.contentLoaderInfo или у e.target.

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

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Попробуйте в Блокноте, может он лучше работает...

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Код AS3:
private function OnComplete(e:Event):void {
	loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, OnComplete); // удалять слушатели нужно с того объекта, к которому их добавляли
	loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, OnProgress);
    addChild(loader.content as DisplayObject);
}
Но описанная проблема этим вызвана быть не может. Скорее всего косяк где-то в подгружаемой флешке.
А может банально фреймрейт не совпадает с прелодером. В данном случае у прелодера фреймрейт по умолчанию (24 кадра в секунду). Возможно у подгружаемой флешки фреймрейт изначально больше

п.с. а вот это зачем?
Код AS3:
txt.scaleX = 20;

Старый 18.11.2014, 14:29
Capnmeth вне форума Посмотреть профиль Отправить личное сообщение для Capnmeth Найти все сообщения от Capnmeth
  № 5  
Ответить с цитированием
Capnmeth
 
Аватар для Capnmeth

Регистрация: May 2014
Сообщений: 54
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Код AS3:
private function OnComplete(e:Event):void {
	loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, OnComplete); // удалять слушатели нужно с того объекта, к которому их добавляли
	loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, OnProgress);
    addChild(loader.content as DisplayObject);
}
Но описанная проблема этим вызвана быть не может. Скорее всего косяк где-то в подгружаемой флешке.
А может банально фреймрейт не совпадает с прелодером. В данном случае у прелодера фреймрейт по умолчанию (24 кадра в секунду). Возможно у подгружаемой флешки фреймрейт изначально больше

п.с. а вот это зачем?
Код AS3:
txt.scaleX = 20;
Я и так пробывал фпс поставил 30 и тут и здесь но все было так же а
Код AS3:
txt.scaleX = 20;
это просто забыл удалить
__________________
Деньги это бумажки радости...

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

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

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


 


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


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