flash & Actionscript3 - передача объектов во внешний SWF - PullRequest
0 голосов
/ 28 августа 2011

Во-первых, я хотел бы сказать спасибо всем, кто помог мне на этой неделе с некоторыми проблемами со вспышкой, которые у меня были.Это очень помогло.

Теперь к тому, на что я надеюсь, если моя последняя проблема

У меня есть объект, называемый друзьями, он содержит ссылку на изображение профиля в Facebook, т.е.

friends.friend1 = "http:// etc";

У меня есть SWF-файл с именем master.swf, который передает информацию для создания объекта через flashvars.

Мне нужно получить объект ИЛИ информацию из flashvars во внешне загруженный swf, который называетсяpageOne.swf.

Я видел и пробовал несколько разных методов, но теперь, похоже, дает мне то, что мне нужно.

Важно то, что pageOne.swf имеет доступ к flashvars /объект ДО того, как он будет отображен на экране, так как информация в объекте / flashvars используется для его создания.

Я использую класс загрузчика для загрузки SWF, приведя его в качестве мувиклипа

У кого-нибудь есть идеи, как это сделать?

ПРИМЕРЫ КОДА:

master.swf

var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;

Мне нужно либо передать это на страницуOne.swf,ИЛИ сделать его доступным для него

Как я загружаюИспользование внешнего SWF

function getFirstLevel()
    {
my_Loader = new Loader();
my_Loader.contentLoaderInfo.addEventListener(Event.COMPLETE, finishLoading2);
my_Loader.load(new URLRequest("pageOne.swf"));

function finishLoading2(loadEvent:Event) {
    my_loadedSwf = loadEvent.currentTarget.content as MovieClip;
    addChild(my_loadedSwf); 
    stage.addEventListener(Event.ENTER_FRAME, my_loadedSwf.enterFrameHandler);
    stage.addEventListener(KeyboardEvent.KEY_DOWN,  my_loadedSwf.myOnPress);
    stage.addEventListener(KeyboardEvent.KEY_UP, my_loadedSwf.myOnRelease);
    stage.focus = my_loadedSwf;

        }
    }

Спасибо

1 Ответ

1 голос
/ 28 августа 2011

Либо добавьте его к URL-адресу, а затем получите к нему доступ через LoaderInfo.parameters, либо используйте общий доступ swf к одному и тому же определению класса и сохраните его там.

Первый пример:

my_Loader.load(new URLRequest("pageOne.swf?friend1=..."));

Затем внутри pageOne.swf получите доступ к нему через loaderInfo.parameters:

this.loaderInfo.parameters.friend1

Для второго случая (и я на самом деле предпочитаю этот) в main.swf:

import shared.Model; // have a class which has a public static facebook url
                     // property, or have it be a Singleton with that property
                     // Obviously, the class name is only an example.
/* ... */

shared.Model.facebookURL = "..."

Затем в загруженном SWF:

import shared.Model;
/* ... */
var url:String = shared.Model.facebookURL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...