-1

MovieClip クラスの作成方法を学習しています。私がやろうとしているのは、MovieClip に左右の矢印キーで移動できるようにすることだけですが、うまくいきません。

ドキュメントクラスメインのコードは次のとおりです。

package  {   

    import flash.display.MovieClip;

    public class Main extends MovieClip{

         var blueBall:Ball = new Ball; //This is line 7

          public function Main()
        {
            addChild(blueBall)
        }

    }

 }

私の Ball クラスのコードは次のとおりです。

package
{
    import flash.display.MovieClip;
    import flash.events.KeyboardEvent;
    import flash.ui.Keyboard;

    public class Ball extends MovieClip
    {
        public function Ball()
        {
            stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); //This is Line 11
        }

         function keyPressed(evt:KeyboardEvent):void
        {
             switch (evt.keyCode)
        {
            case Keyboard.RIGHT :
                this.x +=  10;
                break;
            case Keyboard.LEFT :
                this.x -=  10;
                break;
        }
    }

}

}

これをデバッグで実行すると、次のエラーが発生します。

TypeError: エラー #1009: null オブジェクト参照のプロパティまたはメソッドにアクセスできません。Ball()[C:\Users\Joel\Desktop\Flash\Projects\DropClassTest\Ball.as:11] で Main()[C:\Users\Joel\Desktop\Flash\Projects\DropClassTest\Main.as: 7]

ここで、メイン ドキュメント クラスを空白のままにして、ライブラリから blueBall ムービークリップをドラッグ アンド ドロップするだけで、希望どおりに動作しますが、ドキュメント クラスを使用して実行しようとすると、動作しません。 .

言うまでもなく、デバッガーがどの行が間違っているかを教えてくれると思っても、私はかなり迷っています。

何か案は?

4

1 に答える 1