2014-02-10 40 views
0

不能找到什麼錯我的代碼AS3誤差不能發現什麼錯

這是錯誤代碼:

引發ArgumentError:錯誤#1063:在flashproject_fla參數數量不匹配:: MainTimeline/gameLoop() 。預計0,得到1

我不知道,我沒在這裏

這是我的代碼:

/* Código que pára a timeline na 1 frame para que o menu continue apresentado*/ 
stop(); 
/*Movimenta a nave fazendo a seguir os movimentos do rato e esconde o cursor do sistema operacional*/ 
addEventListener(Event.ENTER_FRAME, gameLoop); 
// create the array for the bullets 
var bullets:Array = []; 
// create the array for the enemies 
var enemies:Array = []; 

stage.addChild(arma_tiro); 
arma_tiro.mouseEnabled = false; 
arma_tiro.addEventListener(Event.ENTER_FRAME, fl_CustomMouseCursor); 

function fl_CustomMouseCursor(event:Event) 
{ 
    arma_tiro.x = stage.mouseX; 
} 
Mouse.hide(); 


/* Mouse Click Event 
Clicking on the specified symbol instance executes a function in which you can add your own custom code. 

Instructions: 
1. Add your custom code on a new line after the line that says "// Start your custom code" below. 
The code will execute when the symbol instance is clicked. 
*/ 

stage.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler_3); 

function fl_MouseClickHandler_3(event:MouseEvent):void 
{ 
    // create the bullet 
    var bullet:bullet_ = new bullet_(); 
    addChild(bullet); 
    bullet.x=arma_tiro.x; 
    bullet.y=arma_tiro.y; 

    // add the bullet to the bullets array 
    bullets.push(bullet); 
    bullet.addEventListener(Event.ENTER_FRAME, moverbala); 

} 

function moverbala(event:Event):void // função para mover a bala para cima */ 
{ 
    event.target.y=event.target.y-20; 
} 

//stage.addEventListener(Event.ENTER_FRAME, Primeira); 

setInterval(Primeira, 1000) ; //define intervalo de tempo entre as varias repetiçoes da funçao 
function Primeira():void 
{ 
    var invader1:invader_1 = new invader_1(); 
    addChild(invader1); 
    invader1.x=0; 
    invader1.y=15; 

    enemies.push(invader1); 
    invader1.addEventListener(Event.ENTER_FRAME, mover1); 
} 

function mover1(event:Event):void // função para mover a nave para lado direito */ 
{ 
    event.target.x+=10; 
} 

//Nave 2 

setInterval(Segunda, 1000) ; //define intervalo de tempo entre as varias repetiçoes da funçao 
function Segunda():void 
{ 
    var invader2:invader_2 = new invader_2(); 
    addChild(invader2); 
    invader2.x=0; 
    invader2.y=45; 

    enemies.push(invader2); 
    invader2.addEventListener(Event.ENTER_FRAME, mover2); 
} 

function mover2(event:Event):void // função para mover a nave para lado direito */ 
{ 
    event.target.x+=10; 
} 

//Nave 3 

setInterval(Terceira, 1000) ; //define intervalo de tempo entre as varias repetiçoes da funçao 
function Terceira():void 
{ 
    var invader3:invader_3 = new invader_3(); 
    addChild(invader3); 
    invader3.x=0; 
    invader3.y=85; 

    enemies.push(invader3); 
    invader3.addEventListener(Event.ENTER_FRAME, mover3); 
} 

function mover3(event:Event):void // função para mover a nave para lado direito */ 
{ 
    event.target.x+=10; 
} 

function gameLoop():void 
{ 
    var firstLoop:Boolean = true; 

    // loop to move/remove the bullets 
    for(var a:int = bullets.length-1; a>=0; a--) 
    { 
     bullets[a].y -= 20; 
     // if the bullet is not on screen anymore, remove it from array 
     if(bullets[j].y < 0) 
     { 
      removeChild(bullets[a]); 
      bullets.splice(a,1); 
      continue; 
     } 
    } 

    // loop enemies 
    for(var i:int = enemies.length-1; i>=0; i--) 
    { 
     // move the enemy 
     enemies[i].x += 10; 
     // loop the bullets to see if on collide the enemy 
     for(var j:int = bullets.length-1; j>=0; j--) 
     { 
      // test collision with the enemy 
      if(enemies[i].hitTestObject(bullets[j])) 
      { 
       // make your enemy dead 
       removeChild(enemies[i]); 
       // remove it from the array 
       enemies.splice(i,1); 
      } 
     } 
    } 
} 

回答

1

的gameloop功能可能會接收到該事件,所以你需要改變其功能聲明開始在參數中接收事件。 喜歡的東西:

function gameLoop(event:Event):void

+0

你能舉個例子嗎?我有點新在這 –

+0

看到我的編輯,不確定的準確性,因爲我不是一個動作的開發人員。 – DhruvPathak