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

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

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

Регистрация: May 2009
Сообщений: 134
По умолчанию Помогите с подгрузкой swf

Всем здравствуйте.
я тоже конечно далеко не ас, но надо подгрузить swf файл, написанный на as3 но с применением старых приемов. т.е. без классов, есть код таймлайне и в мувиках.

проблема такая:
когда запускаю ту анимашку - она идет, но если я ее закрываю раньше времени - выдает ошибку:
Код AS1/AS2:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
	at 1s_3_fla::contour3_113/frame37()
т.е. я так понимаю я закрываю картинку, а анимация где-то там идет..... ее надо остановить и закрыть, да?

пыталась применить Local Connection (по этому методу http://flasher.ru/forum/showpost.php...&postcount=105), но выдает ошибку:
Код AS1/AS2:
1119: Access of possibly undefined property stopAnimation through a reference with static type flash.net:LocalConnection.
посмотрела в настройках - стоит AS3, я так понимаю из-за этого ошибка....

как же быть?


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


Последний раз редактировалось kaetano; 15.05.2012 в 17:20.
Старый 15.05.2012, 22:03
Art_133 вне форума Посмотреть профиль Отправить личное сообщение для Art_133 Посетить домашнюю страницу Art_133 Найти все сообщения от Art_133
  № 2  
Ответить с цитированием
Art_133
 
Аватар для Art_133

блогер
Регистрация: Feb 2007
Адрес: Москва
Сообщений: 538
Записей в блоге: 2
Отправить сообщение для Art_133 с помощью Skype™
Исходник?
Из описания мало что понятно.
__________________
http://artem-lobachenkov.ru/

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

Регистрация: May 2009
Сообщений: 134
попробую привести код. подгружаемую swf подправила немного сама - с ней не надо уже разбираться.

и в общем задача теперь такая - надо найти утечку ресурсов. перед показом анимашек - загрузка цп - 10-15%, во время анимации вырастает до 65 (там не простая картинка), а после удаления ее - падает до 40. Хочется падения до исходного.

прошу посмотреть критически на код и помочь (особенно настораживает момент с удалением объекта с использованием ссылки target - можно ли таким образом удалять?). заранее всем спасибо!!!!!

Код AS3:
//функция в основном классе проекта. тут создается экземпляр класса PagePicture (который содержит)
//подгружаемый swf
......
//это вспомогательная переменная
private var target:DisplayObject;
......
private function onPicture():void {	
	_arrPic = _arrStep[_curStep].arrAction[_curAction].arrAct[_curAct].picture.arrPics;
	for (var i:int = 0; i < _arrPic.length; i++) 
	{
		var item:DPic = _arrPic[i];
		//создаем экземпляр
		var pPic:PagePicture = new PagePicture(_picW, _picH,
									item.descrPic.Name,
									item.descrPic.Text,
									item.picTime * _koefSpeed,
									_picX, _picY,
									item.picScale);
		pPic.name = "pPic";
		sprMain.addChild(pPic);
 
		//ждем исчезновения
		pPic.addEventListener(PageAppearOb.END_DISAPPEAR, onEndDisapPic);
	}
 
 
}
//конец картинке
private function onEndDisapPic(event:Event):void {	
	event.target.removeEventListener(PageAppearOb.END_DISAPPEAR, onEndDisapPic);
	if (event.target is PagePicture) {
		(event.target as PagePicture).deactivate();
	}
	deleteOb("pPic");
}
 
//тут же в основном классе ф-я для уничтожения ненужных объектов
private function deleteOb(nameOb:String = "NoName"):void {
	target = null;
	target = sprMain.getChildByName(nameOb); 
	if (target) {
		sprMain.removeChild(target);
	target = null;
	}
}
**************************************************************************************		
//и сам класс PagePicture
package {
	public class PagePicture extends PageAppearOb {
		public static const CLOSE_PIC: String = "CLOSE_PIC";
 
		private var rectMask:Shape;							//маска для рамки
		private var loader:Loader;
		private var loaderContent:DisplayObject;
 
 
		override public function PagePicture(picW	:int 		= 100,
								picH	:int 		= 200,
								picName	:String 	= "",
								picTitle:String 	= "",
								picTime	:int 		= 0,
								picX	:int 		= -1,
								picY	:int 		= -1,
								picScale:Number 	= 1,
								blockButtonTime:int = 0) {
			//тут было сохранение параметров...... 
			super();
 
			//загружаем картинку
			loader = new Loader();
			loader.contentLoaderInfo.addEventListener(Event.INIT, initListener);
			var urlRequest:URLRequest = new URLRequest(picName)
			loader.load(urlRequest);
		}
 
		private function initListener(event:Event):void {
			event.target.removeEventListener(Event.INIT, initListener);
			loaderContent 		= loader.content;
			addEventListener(PageAppearOb.END_APPEAR, onEndAppear);
		}
 
		//показываем картинку
		private function onEndAppear(event:Event):void {
			removeEventListener(PageAppearOb.END_APPEAR, onEndAppear);
			if (loaderContent) spr.addChild(loaderContent);
			loaderContent.mask = rect;
		}
 
		public function deactivate():void {
			removeEventListener(PageAppearOb.END_APPEAR, onEndAppear);
			removeEventListener(PageAppearOb.END_DISAPPEAR, onEndDisappear);
			removeEventListener(MouseEvent.CLICK, mouseClickListener);
			if (loader) {
				loader.unload();
				loader = null;
				loaderContent = null;
			}
		}
Добавлено через 64 часа 4 минуты
НАРОД!!!! Очень прошу ответить!

Нормально ли это что после выгрузки внешних анимашек процессор загружен на 40% и не думает выгружаться?

Очень жду помощи!!!!!!

Извиняюсь за поднятие темы


Последний раз редактировалось kaetano; 17.05.2012 в 01:00.
Создать новую тему Ответ Часовой пояс GMT +4, время: 23:25.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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