2011-10-14 2 views
0

자녀 MC의 부모로부터 일부 변수에 액세스하려고합니다.은 부모에서 자식으로 변수를 전달합니다. AS3

부모 코드 :

var data_history:String;  
function finish_checkUp(event:Event):void{   
     var checkUp_stat:String; 
     checkUp_stat = data.check_UP_STAT; 
     if (checkUp_stat == "PASSED"){ 
      data_history = "FALSE"; 
      gotoAndPlay ("domain_check"); 
     } 
     else if (checkUp_stat == "FAILED"){ 
      data_history = "TRUE"; 
      gotoAndPlay ("error_data_conflict"); 
     } 
     else if (checkUp_stat == "FAILED_UN"){ 
      data_history = "TRUE"; 
      gotoAndPlay (""); 
     } 
} 

아동 MC : 당신이 볼 수있는

contt_btn.addEventListener(MouseEvent.MOUSE_DOWN, mouseClick); 
    contt_btn.addEventListener(MouseEvent.ROLL_OVER,contt_btnOver); 
    contt_btn.addEventListener(MouseEvent.ROLL_OUT,contt_btnOut); 
    function contt_btnOver(event:MouseEvent):void{ 
     contt_btn.gotoAndPlay("over"); 
    } 
    function contt_btnOut(event:MouseEvent):void{ 
     contt_btn.gotoAndPlay("out"); 
    } 
    function mouseClick(event:MouseEvent):void 
    { 
     trace (MovieClip(this.parent).data_history); 
     if (data_history == "TRUE"){ 
    MovieClip(parent).gotoAndPlay("begin_erasing"); 
     } 
     else if (data_history == "FALSE"){ 
      gotoAndPlay("");} 
    } 

지금, 나는하지만 운의 trace 방법을 시도했다. Flash는 trace 메서드에 대한 오류를보고하지 않지만 두 개의 정의되지 않은 변수 (data_history)를보고합니다. 필자는 스크립트의 맨 위에있는 모든 함수 위에 추적 메서드를 사용하려고했지만 여전히 같은 오류가 발생했습니다.

어떤 아이디어가 있습니까?

답변

0

의 추적에서, 당신은 this.parent을 통해 data_history 속성을 참조한다. 뿐만 아니라 부모를 통해 속성을 참조하는 ... 다른 경우 그 사용자의 값을 추적 가정 할 때, 당신은 당신을 조정해야 오류가 발생에있는 추적이, 다음 속성은 부모에 존재하지 않았던 경우

function mouseClick(event:MouseEvent):void 
{ 
    trace (MovieClip(this.parent).data_history); 
    if (MovieClip(this.parent).data_history == "TRUE"){ 
MovieClip(parent).gotoAndPlay("begin_erasing"); 
    } 
    else if (MovieClip(this.parent).data_history == "FALSE"){ 
     gotoAndPlay("");} 
} 

.

0

하위 동영상은 이러한 방식으로 부모를 검사해서는 안됩니다. 아이의 문서 클래스에

:

이 시도

public var data_history:String; 
function mouseClick(event:MouseEvent):void{ 
      if (data_history == "TRUE"){ 
        MovieClip(parent).gotoAndPlay("begin_erasing"); 
      } 
      else if (data_history == "FALSE"){ 
        gotoAndPlay("");} 
      } 
} 

부모

function finish_checkUp(event:Event):void{ 
      var checkUp_stat:String; 
      checkUp_stat = data.check_UP_STAT; 
      if (checkUp_stat == "PASSED"){ 
       data_history = "FALSE"; 
       if (childMC as ChildDocumentClass) { 
        (childMC as ChildDocumentClass).data_history = data_history; 
       } 
       gotoAndPlay ("domain_check"); 
      } 
      else if (checkUp_stat == "FAILED"){ 
       data_history = "TRUE"; 
       if (childMC as ChildDocumentClass) { 
        (childMC as ChildDocumentClass).data_history = data_history; 
       } 
       gotoAndPlay ("error_data_conflict"); 
      } 
      else if (checkUp_stat == "FAILED_UN"){ 
       data_history = "TRUE"; 
       if (childMC as ChildDocumentClass) { 
        (childMC as ChildDocumentClass).data_history = data_history; 
       } 
       gotoAndPlay (""); 
      } 
    } 
관련 문제