0

我已经粘贴了我的编码。最初,我在编写代码时不小心进入了第 2 帧,但后来我删除了代码文件并重新创建了文件。但是,问题仍然存在。谁能帮我这个代码

public class firstGame extends MovieClip 
{
    public var mcPlayer:MovieClip;
    private var leftKeyIsDown:Boolean;
    private var rightKeyIsDown:Boolean;

    public function firstGame() 
    {
        //trace("First Game Loaded");
        stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
        stage.addEventListener(KeyboardEvent.KEY_UP, keyUp);
        stage.addEventListener(Event.ENTER_FRAME, gameLoop);
    }

    private function gameLoop(e:Event):void 
    {
            trace("Loaded");
    }

    private function playerControl():void
    {
        if (leftKeyIsDown == true)
        {
            mcPlayer.x -= 5;
        }

        if (rightKeyIsDown == true)
        {
            mcPlayer.x += 5;
        }
    }

    private function keyUp(e:KeyboardEvent):void 
    {

        if (e.keyCode == 37)
        {
            //left key released
            leftKeyIsDown = false;
        }
        if (e.keyCode == 39)
        {
            //right key released
            rightKeyIsDown = false;
        }
    }

    private function keyDown(e:KeyboardEvent):void
    {
        if (e.keyCode == 37)
        {
            //left key released
            leftKeyIsDown = true;
        }
        if (e.keyCode == 39)
        {
            //right key released
            rightKeyIsDown = true;
        }
    }



}

错误是

TypeError:错误 #1009:无法访问空对象引用的属性或方法。在 firstGame/gameLoop() 的 firstGame/playerControl() 处输入代码

请帮我解决

4

1 回答 1

0

mcPlayerplayerControl函数中唯一的对象引用,所以mcPlayer必须为空。您需要分配mcPlayer给您的播放器影片剪辑的实例

于 2018-07-27T12:53:49.870 回答