2012-03-16 19 views
-2

このエラーがポップアップします。エラー#1009:nullオブジェクト参照のプロパティまたはメソッドにアクセスできません。 test9_fla :: MainTimeline/PlayerMovement()AS3 Error#1009 in flash

でここに私のコードです:

stage.addEventListener(Event.ENTER_FRAME、PlayerMovement)は、

関数PlayerMovement(イベント:イベント){

if(down) { 
    Jack.y += speed; 
    if(Jack.hitTestObject(Muur1)) 
    { 
     Jack.y -= speed; 
    }}else if(up) 
{ 
    Jack.y -= speed; 
    if(Jack.hitTestObject(Muur1)) 
    { 
     Jack.y += speed; 
    }}else if(left) 
{ 
    Jack.x -= speed; 
    if(Jack.hitTestObject(Muur1)) 
    { 
     Jack.x += speed; 
    }}else if(right) 
{ 
    Jack.x += speed; 
    if(Jack.hitTestObject (Muur1)) 
    { 
     Jack.x -= speed; 
    }} 

どのように私は、エラーを解決するだろうか?

+1

デバッガで実行し、問題の発生箇所を正確に確認してください。おそらく、使用される変数の1つが開始されていないためです。 –

+0

@Feia 'down'は定義されていません – mgraph

+0

-1絶対にひどい探し方のコードです。私は、3つのelse-ifがあるif文があることを伝えるのは苦労しました。また、デバッガを使用してください。 – mfa

答えて

0

ほとんどの場合、stageは定義されておらず、onAddedToStageイベントを待つ必要があります。とにかく、なぜあなたはステージに直接アクセスしていますか?必要がない場合は、イベントリスナーを現在のムービークリップ(おそらくドキュメントルート)に追加するだけです。

addEventListener(Event.ENTER_FRAME, PlayerMovement); 
+0

おそらくゲームなので、複数のENTER_FRAMEハンドラを持つことは一般的には悪い考えです。 ENTER_FRAMEを完全に捨ててTimerイベントを使用するほうがよいでしょう。 – joncys