2017-02-16 20 views
1

現在、私はまだクラス内のフラッシュを新しくしています。私はそれらについてたくさんの動画を見てきました。オブジェクト指向プログラミングについてもっと学びたいと思っています。クラッシュを引き起こすクラスファイル内での変数の定義

これまで言われていたことですが、私は変数を定義してライブラリファイル内のシンボルに割り当てました。すべてがクラスファイルにあります。私は私のコードでこれらの変数を使用すると、私は次の

エラーメッセージが言うエラーメッセージがポップアップを得る:

TypeError: Error #1009: Cannot access a property or method of a null object reference. at Movement()[C:\Users\Kevin\Main Directory\Flash\Clients\org\tcdsb\ZenithsReach\Movement.as:12] at game/frame1()[game::frame1:4] at runtime::ContentPlayer/loadInitialContent() at runtime::ContentPlayer/playRawContent() at runtime::ContentPlayer/playContent() at runtime::AppRunner/run() at ADLAppEntry/run() at global/runtime::ADLEntry()

マイMovement.asクラスファイル:あなたがきた

package 
{ 
    import flash.display.MovieClip; 
    import flash.events.TouchEvent; 

    public class Movement extends MovieClip 
    { 
     function Movement() 
     { 
      trace("SUCCESS | Constructed Movement Class"); 
      down_dpad.addEventListener(TouchEvent.TOUCH_BEGIN, moveDownTouchBEGIN); 
      down_dpad.addEventListener(TouchEvent.TOUCH_END, moveDownTouchEND); 
      var inMotion:Boolean = false; 

      var area1:Boolean = true; 
      var area2:Boolean = false; 
      var area3:Boolean = false; 

      var player1:Boolean = true; 
      var playerPosKeeper_mc:MovieClip = new mc_PlayerPosKeeper ; 
      addChild(playerPosKeeper_mc); 
      playerPosKeeper_mc.x = 384; 
      playerPosKeeper_mc.y = 46; 

      var up_dpad:MovieClip = new dpad_Up ; 
      addChild(up_dpad); 
      up_dpad.x = 55; 
      up_dpad.y = 346; 

      var down_dpad:MovieClip = new dpad_Down ; 
      addChild(down_dpad); 
      down_dpad.x = 57; 
      down_dpad.y = 442; 

      var left_dpad:MovieClip = new dpad_Left ; 
      addChild(left_dpad); 
      left_dpad.x = 19; 
      left_dpad.y = 382; 

      var right_dpad:MovieClip = new dpad_Right ; 
      addChild(right_dpad); 
      right_dpad.x = 118; 
      right_dpad.y = 382; 

      var menu_dpad:MovieClip = new dpad_Menu ; 
      addChild(menu_dpad); 
      menu_dpad.x = 61; 
      menu_dpad.y = 386; 

      var run_dpad:MovieClip = new dpad_Menu ; 
      addChild(run_dpad); 
      run_dpad.x = 684; 
      run_dpad.y = 386; 

      var barrierRoof1_game:MovieClip = new game_BarrierRoof ; 
      addChild(barrierRoof1_game); 
      barrierRoof1_game.x = 0; 
      barrierRoof1_game.y = 0; 

      var barrierRoof2_game:MovieClip = new game_BarrierRoof ; 
      addChild(barrierRoof2_game); 
      barrierRoof2_game.x = 0; 
      barrierRoof2_game.y = 470; 

      var barrierSide1_game:MovieClip = new game_BarrierSide ; 
      addChild(barrierSide1_game); 
      barrierSide1_game.x = 790; 
      barrierSide1_game.y = 0; 
      function moveDownTouchBEGIN(e:TouchEvent):void 
      { 
       if (player1 == true) 
       { 
        if (area1 == true) 
        { 
         if (playerPosKeeper_mc.hitTestObject(barrierRoof1_game)) 
         { 

         } 
        } 
        else 
        { 
         // add other areas in the future 
        } 
       } 
       else 
       { 
        // if your not player1, then we need to find out what you are, 
        // and give you the proper walking animations 
       } 
      } 

      function moveDownTouchEND(e:TouchEvent):void 
      { 

      } 

     } 

    } 

} 
+0

をあなたは正しい答えを持っています。 「✓」を使用して解決済みとマークし、他の人が動いていることを知るようにします。 –

答えて

3

行わ...

down_dpad.addEventListener(TouchEvent.TOUCH_BEGIN, moveDownTouchBEGIN); 

down_dpadオブジェクトがライン

で作成される前に
var down_dpad:MovieClip = new dpad_Down ; 

だから

それを上に移動。また、あなたのクラスのためのブラケットを忘れてしまっています
は仕事にnew dpad_Down();でなければなりません...ない現在使用new dpad_Down ;

+0

こんにちは。私はそれを修正しましたが、オブジェクトがステージに追加されていないという問題に直面しています。 – UnAlpha

+0

長すぎるため、コードを投稿できません。そのすべてはhttp://pastebin.com/hN8w0Rvkで見ることができます – UnAlpha

+0

私はムービークリップには強くありませんが、あなたのオブジェクトの幅と高さを設定しないためだと思います。 – Selirion

関連する問題