2009-04-07 41 views
3

AS3を使用する際に問題が発生しました - Flash CS3が私にこのエラーメッセージを表示します:エラー#1065:変数addChildが定義されていません。変数addChildが定義されていませんか?

何か問題がありますか?

これは私のコードです:

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

のSimpleButtonが、DisplayObjectContainerからではなく、InteractiveObjectから継承されないためにです。

addChildはDisplayObjectContainerのメソッドです。 SimpleButtonには、3つの状態とヒットテストオブジェクトの3つのdisplayオブジェクトが含まれ、upState、overState、downState、およびhitTestStateという名前が付けられています。

これらのいずれかを設定する必要があります。

//addChild(result); 
upState = result; 

あなただけの状態に(スプライトのような)のDisplayObjectContainerを追加して、代わりにそこにTextFieldを追加し、場合にあなたは状態へのより多くのグラフィックスを追加することができます。

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

ありがとうございます。 – AnthonyWJones

関連する問題