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

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

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

Регистрация: May 2008
Адрес: Земля.Украина.Одесса
Сообщений: 219
Отправить сообщение для ERrorMAKros с помощью ICQ Отправить сообщение для ERrorMAKros с помощью Skype™
Question Помогите разобраться с загрузкой клипа

Добрый день/вечер,
К сабжу прикреплен attach маленького проекта, который загружает swf файл (в котором существует кнопка, которая реагирует при наведении на нее мышкой), определяет его класс (для дальнейших действий с его property`сами) и добавляет его на форму.

Есть вопросы! Почему после загрузки и добавления .swf`ки в stage не работает класс кнопки определенном внутри загруженной .swf`ки? ...почему вообще загруженная .swf`ка не работает с классами определенными внутри нее.

Заранее благодарен!
Жду ваших замечаний и в целом хотелось бы данную реализацию довести до ума, что бы уже к ней не возвращаться...
Вложения
Тип файла: rar smpl.rar (20.9 Кб, 67 просмотров)

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

Регистрация: May 2008
Адрес: Земля.Украина.Одесса
Сообщений: 219
Отправить сообщение для ERrorMAKros с помощью ICQ Отправить сообщение для ERrorMAKros с помощью Skype™
Человеки, прошу - помогайте, ...потому как я без вариантов (((
Как я уже и рассказывал - смысл моей реализации в том что пытаюсь загрузить из одной "классифицированной" флешки - другую "классифицированную" флешку и работать с ней как с классом. Localconnection (видимо) не подходит, потому что там 40Kb за раз в одну сторону, ...а передо мной, в дальнейшем, задача передавать в другую флеху-класс объемы и по более... Кому лень качать demo файл в первом посте топика, покажу структуру на картинке:
[IMG]http://img265.**************/img265/9393/indexswf.png[/IMG]

Загрузчик в INDEX_SWF:
Код AS3:
package com {
import flash.display.MovieClip;
import flash.utils.ByteArray;
import flash.events.*;
import flash.display.Loader;
import flash.system.LoaderContext;
import flash.system.ApplicationDomain;
import flash.utils.getDefinitionByName;
import flash.utils.getQualifiedClassName;
import flash.net.*;
 
public class index extends MovieClip {
    private var urlLoader   : URLLoader;
    private var loader      : Loader;
    private var importClass : *;
 
	public function index(){
        trace('конструктор', this);
        this.urlLoader = new URLLoader();
        this.urlLoader.dataFormat=URLLoaderDataFormat.BINARY;
        this.urlLoader.addEventListener(Event.COMPLETE, completeHandler);
        try   {this.urlLoader.load(new URLRequest('loadthis.swf'));}
        catch (error:Error){trace("Unable to load requested document.");}
		} // index
 
        private function completeHandler(e:Event):void{
        trace(this, '> loaded ..!!');
 
        this.loader = new Loader();
        with(this.loader){
             contentLoaderInfo.addEventListener(Event.COMPLETE, builderHandler);
             loadBytes(e.target.data, new LoaderContext(false, ApplicationDomain.currentDomain));
             } // with(loader)
        } // completeHandler
 
        private function builderHandler(e:Event):void{
        var appDomain:ApplicationDomain = e.target.content.loaderInfo.applicationDomain;
        var mclass: Class = appDomain.getDefinition(getQualifiedClassName(e.target.content)) as Class; 
        if (mclass){
            this.importClass = new mclass();
            this.addChild(this.importClass);
            } // mclass
        } // builderHandler
 
	} // class
} // package
Код кнопки в LOADTHIS_SWF:
Код AS3:
package com {
import flash.display.MovieClip;
import flash.events.*;
import flash.filters.*;
 
public class button extends MovieClip{
	public function button(){
        trace('конструктор', this);
        // при наведении на "себя" - мажем по краям "себя" glow эффект
        this.addEventListener(MouseEvent.ROLL_OVER, ROver); // мышку навели
        this.addEventListener(MouseEvent.ROLL_OUT, ROut); // мышку увели
		} // constructor code
 
        private function ROver(e:MouseEvent):void{
        var myGlow:GlowFilter = new GlowFilter();
            myGlow.color=0xFFFFFF;
            this.filters = [myGlow];
        trace(this, '> over');
        } // ROver
 
        private function ROut(e:MouseEvent):void{
        var myGlow:GlowFilter = new GlowFilter();
            myGlow.color=0x336600;
            this.filters = [myGlow];
        trace(this, '> out');
        } // ROver
	}
}
Как ни старайся - после загрузки проекта в index, в загруженной .swf`ке никакой реакции на мышиные события, конструктор класса button срабатывает только один раз, в загрузчике класса index:
Код AS3:
with(this.loader){
contentLoaderInfo.addEventListener(Event.COMPLETE, builderHandler);
loadBytes(e.target.data, new LoaderContext(false, ApplicationDomain.currentDomain)); // вроде тут
} // while
А при создании экземпляра класса загруженного клипа - конструктором кнопки и не пахнет (((
Что делать? У меня паника...


Добавлено через 59 часов 32 минуты
Люди, есть тут кто живой?


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

Теги
loader , urlloader , загрузчик
Опции темы
Опции просмотра

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

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


 


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


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