闪光; Actionscript 3 - 将对象传递给外部swf

时间:2011-08-28 07:43:38

标签: flash actionscript-3 actionscript

首先,我想感谢所有本周帮助过我的人,我有一些闪光问题。这是一个很大的帮助。

现在我希望如果我最后的问题

我有一个名为friends的对象,它包含facebook个人资料图片的网址,即

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

我有一个名为master.swf的swf文件,它传递信息以通过flashvars创建对象。

我需要将对象或flashvars信息提供给外部加载的swf,名为pageOne.swf。

我已经看过并尝试过几种不同的方法,但现在似乎给了我所需要的东西。

重要的是pageOne.swf在渲染到屏幕之前可以访问flashvars / object,因为object / flashvars中的信息用于构造它。

我正在使用loader类来加载swf,将其作为movieClip投射

任何人都有任何想法如何达到上述目标?

代码示例:

master.swf

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

我需要将此传递给pageOne.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 个答案:

答案 0 :(得分:1)

将其附加到网址,然后通过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