2014-09-28 97 views
0

我收到錯誤1136:不正確的參數集中器。預計1. 在第1幀12 + 13。Flash CS6 AS3錯誤1136

我找不到任何問題,但是我是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; 
     } 
    } 
} 

再次好運氣和良好祝願,對發現這個麻煩的錯誤。

回答

0

錯誤1136:參數的數量不正確。 預計1

這一個應該是顯而易見的。您正在調用哪一個都與一個參數定義的函數:

function keyPressed (event:KeyboardEvent) 

你用了調用它傳遞任何參數給它:

keyPressed(); 

這就是爲什麼它的抱怨!重要版本同樣適用於

所以基本上要麼向它傳遞的KeyboardEvent爲您定義,或者根本不調用這個函數。無論如何,你的聽衆對象都會照顧它。 :)

+0

我已經這樣做了,但現在我得到了第39行的錯誤1120:未定義屬性事件的訪問 – user3406023 2014-09-29 06:50:50

+0

如果你仍然真的想傳遞自己的事件,你首先必須實例化它。 'var e:KeyboardEvent = new KeyboardEvent('e');'然後將它作爲參數傳遞給你的函數'keyPressed(e);' – Iggy 2014-09-29 12:19:54