I need to change a variable in the parent from the child in actionscript 3
I am new at actionscript 3. I want to change a variable set to 0 in the parent to 1 when a button in the child is clicked.
This is the parent zero.swf:
var noPass:Number=0;
function getPass(event:onLoad, noPass):void {
if(noPass==0) {
var passRequest:URLRequest=new URLRequest("PasswordPage.swf");
var passLoader:Loader = new Loader();
passLoader.load(passRequest);
addChild(passLoader);
} else {
removeChild(passLoader);
var navRequest:URLRequest=new URLRequest("nav/ILNav.swf");
var navLoader:Loader = new Loader();
navLoader.load(navRequest);
addChild(navLoader);
}
}
addEventListener(onLoad, getPass, noPass)
开发者_StackOverflow中文版this is the child PasswordPage.swf:
submit_btn.addEventListener(MouseEvent.CLICK, subClick, noPass);
var myName:String;
var myPass:String;
function subClick(event:MouseEvent, noPass):void {
myName=name_txt.text;
myPass=pass_txt.text;
failedName_txt.text="";
failedPass_txt.text="";
if (myName=="Kim"&&myPass=="Pablo") {
//this.parent.removeChild(this);
//DisplayObjectContainer(this.parent).removeChild(this);
//unload(passLoader);
noPass=1
} else if (myName != "Kim") {
failedName_txt.text="You have entered the wrong Username.";
} else {
failedPass_txt.text="You have entered the wrong Password.";
}
}
You could always add your mouse event listeners to the child's button from within the parent swf. For example, in the parent clip you could do something like this:
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, _configureChild, false, 0, true);
loader.load(new URLRequest("PasswordPage.swf"));
function _configureChild(e:Event):void {
var info:LoaderInfo = e.target as LoaderInfo;
var mov:MovieClip = info.loader.content as MovieClip;
var btn:MovieClip = mov.getChildByName("submit_btn") as MovieClip;
submit_btn.addEventListener(MouseEvent.CLICK, _childClickHandle, false, 0, true);
}
function _childClickHandle(e:MouseEvent):void {
/// blah blah blah
}
精彩评论