我遇到的问题是将父AS3脚本中的变量值传递给父级调用的子swf。
孩子还有一个与之关联的AS3脚本。
这是一个简单的例子。这是父脚本。
package scripts {
import flash.display.MovieClip;
import flash.display.*;
import flash.net.URLRequest;
import flash.events.MouseEvent;
import flash.events.Event;
public class passone extends MovieClip {
public var topVariable;
public function passone() {
var button: buttonMovie = new buttonMovie();
button.x = 300;
button.y = 400;
button.addEventListener(MouseEvent.CLICK, onButtonClicked);
addChild(button);
topVariable = "Parent variable";
}
function onButtonClicked(e: MouseEvent): void {
trace("This is the variable: " + topVariable);
var myLoader: Loader = new Loader();
var url: URLRequest = new URLRequest("PassVariableTest2.swf");
myLoader.load(url);
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
//addChild(myLoader);
function onComplete(e: Event): void {
topVariable = "Parent variable";
addChild(myLoader);
}
}
}
}
这是父调用的swf的代码。
package scripts {
import flash.display.MovieClip;
import flash.text.TextField;
import flash.events.Event;
public class passtwo extends MovieClip {
var topVariable
public function passtwo() {
//var ChildVar = MovieClip(parent.parent).topVariable;
trace("This is being called");
trace("The answer should follow: " +MovieClip(this.parent.parent).topVariable);
//trace(MovieClip(this.parent));
}
}
}
我尝试了几种不同的代码配置来访问父脚本中的变量。
MovieClip(this.parent.parent).topVariable
MovieClip(parent.parent).topVariable
MovieClip(this.parent.parent.parent).topVariable
MovieClip(this.parent).topVariable
我真的可以用一些帮助搞清楚这一点。 我一直收到错误#1009无法访问空对象引用的属性或方法。
答案 0 :(得分:0)