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

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

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

Регистрация: Jan 2014
Сообщений: 1
Attention Вызов функции загрузчика

Есть 2 ролика: loader и movie. Нужно вызвать из подгружаемого ролика movie функцию loaderFunc, принадлежащую ролику loader.

loader.as:
Код AS3:
package  {
*
	import flash.display.MovieClip;
	import flash.display.Loader;
	import flash.display.LoaderInfo;
	import flash.net.URLRequest;
*
	public class loader extends MovieClip {
*
		private var loaderVar:String = "Task performed!";
*
		public function loader() {
			var loader:Loader = new Loader();
			loader.load(new URLRequest("movie.swf"));
			stage.addChild(loader);
		}
		public function loaderFunc():String {
			return loaderVar;
		}
	}
*
}
movie.as:
Код AS3:
package  {
*
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.display.Loader;
	import flash.display.LoaderInfo;
*
	public class movie extends MovieClip {
*
*
		public function movie() {
			root.addEventListener("allComplete", allCompleteHandler);
		}
		private function allCompleteHandler(e:Event):void {
			var loaderinfo:LoaderInfo = LoaderInfo(e.target);
			if(loaderinfo.loaderURL == "file:///D|/Inject/OwnTest/loader.swf") {
				var loaderClass:Class = loaderinfo.applicationDomain.getDefinition("loader") as Class;
				var loaderObject:Object = new loaderClass();
			}
		}
	}
*
}
Выдает ошибку:
Error: Error #2136: SWF-файл ***/movie.swf содержит недопустимые данные.
at movie/allCompleteHandler()


Наверное, из-за того что получается бесконечная рекурсия? Пробовал так:

loader.as
Код AS3:
*
*
		public function loader(flag:Boolean = true) {
			if(flag==true) lMovie();
		}
		private function lMovie():void {
			var loader:Loader = new Loader();
			loader.load(new URLRequest("movie.swf"));
			stage.addChild(loader);
		}
		public function loaderFunc():String {
			return loaderVar;
		}
	}
*
movie.as:
Код AS3:
var loaderObject:Object = new loaderClass(false);
Не помогло.

Заранее спасибо за помощь!

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Киньте из муви событие лоадеру, пусть лоадер сам вызовет, что надо.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

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

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


 


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


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