Flash CS6 AS3错误1136

时间:2014-09-28 19:01:24

标签: actionscript-3 flash

我收到错误1136:不正确的参数集合。预期1。 在第1帧第12 + 13行。

我发现它没有任何问题,但我在AS3是一个很大的菜鸟,所以请简单回放一下。

这是我的代码:

    stop()

var leftDown:Boolean = false;
var rightDown:Boolean = false;

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
stage.addEventListener(KeyboardEvent.KEY_UP, keyReleased);
addEventListener(Event.ENTER_FRAME, gameLoop);

function gameLoop(event:Event):void{
    moveCharacter();
    keyPressed();     //error here
    keyReleased();   //error here
    gravity();
}
    function gravity()
{
    if (character.y < (stage.stageHeight - character.height)){
        if (testfloor.hitTestPoint (character.x, character.y, true))
        character.y += 5;                          
    }
}

function moveCharacter
(){
    if (leftDown)
    {
        wall.x += 4;
    }
    if (rightDown)
    {
        wall.x -= 4;

    }
}

function keyPressed (event:KeyboardEvent)
{
    switch (event.keyCode)
    {
        case Keyboard.LEFT:
        {
            leftDown = true;
            break;
        }
        case Keyboard.RIGHT:
        {
            rightDown = true;
            break;
        }
    }
}

function  keyReleased (event:KeyboardEvent)
{
    switch (event.keyCode)
    {
        case Keyboard.LEFT:
        {
            leftDown = false;
            break;
        }
        case Keyboard.RIGHT:
        {
            rightDown = false;
            break;
        }
    }
}

再一次好运和最好的愿望,找到这个麻烦的错误。

1 个答案:

答案 0 :(得分:0)

  

错误1136:参数数量不正确。 预计1

这个应该是显而易见的。您正在调用一个用参数定义的函数:

function keyPressed (event:KeyboardEvent)

你正在调用它而没有传递任何参数:

keyPressed();

这就是为什么它在抱怨!同样适用于 keyReleased。

所以基本上要么按照您的定义传递 KeyboardEvent ,要么根本不调用此功能。无论如何,您的侦听器对象将负责处理它。 :)