2009-04-07 3 views
3

AS3을 사용하는 데 문제가 있습니다 - Flash CS3에서 나에게이 오류 메시지를 표시합니다. 오류 # 1065 : 변수 addChild가 정의되지 않았습니다.변수 addChild가 정의되지 않았습니까?

어떤 아이디어가 잘못 되었나요? SimpleButton이 DisplayObjectContainer와에서하지만 InteractiveObject에 상속하지 않습니다 때문입니다

package coa.application{ 
    import flash.display.SimpleButton; 
    import flash.text.TextField; 
    import flash.text.TextFieldType; 

    public class Tab extends SimpleButton { 

     public var menuType:String; 

     public function Tab(tabText:String, menuType:String) { 
      this.menuType=menuType; 
      var mytext:TextField=createTextField(0,0,200,20); 
      mytext.text=tabText; 
     } 
     private function createTextField(x:Number, y:Number, width:Number, height:Number):TextField { 
      var result:TextField = new TextField(); 
      result.x=x; 
      result.y=y; 
      result.width=width; 
      result.height=height; 
      addChild(result); 
      return result; 
     } 
    }  
} 

답변

5

:

내 코드입니다.

addChild는 DisplayObjectContainer의 한 메서드입니다. SimpleButton은 3 개의 상태와 hittest 객체에 대해 3 개의 display 객체를 포함하며 upState, overState, downState 및 hitTestState로 이름이 지정됩니다.

그래서 어느 하나를 설정할 수 있어야합니다.

//addChild(result); 
upState = result; 

당신이 경우에 당신은 국가에 더 많은 그래픽을 추가 할 단지 상태로 (스프라이트와 같은) DisplayObjectContainer를 추가하고 대신에 거기에 텍스트 필드를 추가 할 수 있습니다.

upState = new Sprite(); 
upState.addChild(new MyButtonBackground()); //Make this class. 
upState.addChild(result); 
+0

설명해 주셔서 감사합니다. – AnthonyWJones

관련 문제