Мне нужно изменить переменную в родительском от дочернего в ActionScript 3
Я новичок в ActionScript 3. Я хочу изменить переменную, установленную в 0 в родительском элементе на 1, когда нажата кнопка в дочернем элементе.
Это родительский 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)
это дочерний 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.";
}
}
1 ответ
Вы всегда можете добавить своих слушателей событий мыши к дочерней кнопке из родительского swf. Например, в родительском клипе вы можете сделать что-то вроде этого:
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
}