2011-01-12 19 views
0

私はフラッシュするための完全なnoobです。movieclipのAS3ボタン

私はムービークリップとしてムービークリップをデザインしており、ムービークリップにはメニュー画面をリンクするボタンがあります。タイムラインとコードスニペットを使ってすべてうまく動作しました。

今、私はいくつかの問題を抱えている、コードでそれをやろうとしている:

package 
{ 
    import flash.display.MovieClip; 
    import flash.events.Event; 
    import flash.events.MouseEvent; 

    public class Main extends MovieClip { 

     public function Main() { 
      // define variable main as the movieclip main 
      var main = new Main_menu(); 
      var instructions = new instructions(); 
      //add the movieclip to the stage 
      addChild(main); 
      // Tell the button to run function on_play..... 
      Instructions_btn.addEventListener(MouseEvent.CLICK, on_play_button_clicked); 
     } 

     // what the button does 
     public function on_play_button_clicked(event:MouseEvent) { 
      addChild(instructions); 
     } 
    } 
} 

私は、ムービークリップのメインの表示に得ることができると、IVEは、フラッシュ内ムービークリップにボタンを追加しましたので、彼らはうまく表示され、カーソルが指のクリックアイコンに変わります:-)

私はうまくいかないようですが、クラス名を持つボタンを取得する方法です:instructions_btnは、画面を追加する:指示をクリックしたとき。

死んでいるかもしれないが、私は髪を引っ張っているよ!

+0

Instructions_btnはどこから来たのですか? – Ben

+0

そのボタンの名前 – paul

答えて

0

変数インスタンスの「命令」とクラス「命令」に同じ名前が使用されています。これは明らかにうまくいかない。命名規則に固執:クラス名の最初の文字が大文字である必要があり、そのインスタンス名の下ケース:また

var instructions:Instructions = new Instructions(); 
addChild (instructions); 

、あなたはメインのコンストラクタ内のローカル変数として指示を宣言したが、しようとしていますそれをイベントハンドラのステージに追加します。イベントハンドラが使用できなくなった時点です。変数をメソッドのスコープ外に存在させたい場合は、メンバーとして宣言してください:

public class Main extends MovieClip { 
    private var instructions:Instructions; 

    public function Main() { 
     instructions = new Instructions(); 
     // ... 
    } 

    private function onPlayButtonClicked (ev:Event) : void { 
     addChild (instructions); 
    } 
} 
+0

返事のためのTnaks ..私はまだそれを働かせることができません..エラーは次のとおりです: – paul

関連する問題