1

下面是我的代码。这很简单。我只需要获取在主舞台上定义的 var,并让每个外部 swf 都可以访问该 var。

这是不起作用的代码:

在主要 SWF 中:

var ThePath:String;
ThePath = "happy/go/lucky/";

/// 下面的代码是来自上面主上一个时间线的 A LOADED SWF。(现在在这里显示完整的代码)

var myMC:MovieClip;
myMC= parent as MovieClip;

trace("Your VAR PATH IS " + myMC.ThePath); /// DOES NOT WORK.

谢谢快乐的堆垛机!

2012 年 4 月 31 日更新

简而言之:我需要在主阶段创建一个全局变量,并允许所有其他外部加载的 swf 访问该变量。

4

3 回答 3

3
var myMC:MovieClip = MovieClip(this.parent.parent);
myMC.ThePath

您应该使用 camelCase 作为变量定义。

编辑:

另一种解决方案是在加载器中加载子 swf 时将引用传递给父级(通过设置值,设置引用),然后子级可以引用父级。

IE:

家长:

函数 startLoad() { var mLoader:Loader = new Loader(); var mRequest:URLRequest = new URLRequest(“Child.swf”); mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler); mLoader.load(mRequest); }

函数 onCompleteHandler(loadEvent:Event) { var childMC:MovieClip = loadEvent.currentTarget.content; addChild(childMC:MovieClip); childMC.refToMainSWF = 这个;}

供参考: http: //genaboo.wordpress.com/2008/03/27/as2_vs_as3_root_parent_communicating_between_swfs/

于 2012-04-30T21:34:37.467 回答
0

创建一个具有静态属性(变量)的类,根据需要导入该类以进行全局访问。请参阅此相关问题

于 2014-02-07T15:59:06.823 回答
0

尝试:

trace("Your VAR PATH IS " + root.ThePath);
于 2012-04-30T21:34:58.310 回答