2010-03-06 9 views
1

Je suis nouveau à ActionScript 3. Je veux changer une variable définie à 0 dans le parent à 1 quand un bouton dans l'enfant est cliqué.Je dois changer une variable dans le parent de l'enfant dans actionscript 3

C'est la zero.swf mère:

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) 

c'est l'enfant 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."; 
    } 
} 
+0

Pouvez-vous écrire du code? – dirkgently

+0

Nevermind J'ai abandonné là-dessus. –

Répondre

0

Vous pouvez toujours ajouter vos écouteurs d'événements de souris à bouton de l'enfant de l'intérieur du swf parent. Par exemple, dans le clip parent, vous pouvez faire quelque chose comme ceci:

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 
}