2013-06-29 50 views
1

我在這裏有代碼應該有一個鏈接的影片剪輯隨機生成在舞臺上。它確實是隨機生成的,但不是最重要的。此外,生成的項目應該向下移動並消失,但它不會。AS3垂直移動和隨機點

我目前正在設計的Android智能手機遊戲..

Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT; 
//Create an enemies array 
var enemies:Array; 
enemies = new Array(); 


makeEnemies(); 
moveEnemies(); 




//Call this function for how many enemies you want to make... 
function makeEnemies():void 
{ 
    var tempEnemy:MovieClip; 
    //Make sure a Library item linkage is set to Enemy... 
    tempEnemy = new Enemy(); 
    tempEnemy.speed = 20; 
    tempEnemy.x = Math.random()* 800; 
    tempEnemy.cacheAsBitmapMatrix = tempEnemy.transform.concatenatedMatrix; 
    tempEnemy.cacheAsBitmap = true; 
    trace("enemy"); 
    addChild(tempEnemy); 
    enemies.push(tempEnemy); 


    tempEnemy.addEventListener(MouseEvent.CLICK, killEnemies); 
} 




function killEnemies(event:MouseEvent):void { 
trace("tap"); 
} 

//Create an enemies array if you do not already have one... 
//Create tempEnemy from Enemy library item if you do not already have one... 
function moveEnemies():void 
{ 
    var tempEnemy:MovieClip; 
    for (var i:int =enemies.length-1; i>=0; i--) 
    { 
     tempEnemy = enemies[i]; 

     //rotate the enemy between 10-5 degrees 
     tempEnemy.rotation += (Math.round(Math.random()*50-5)); 
     //Find the rotation and move the x position that direction 
     tempEnemy.x -= (Math.sin((Math.PI/180)*tempEnemy.rotation))*tempEnemy.speed; 
     tempEnemy.y += (Math.cos((Math.PI/180)*tempEnemy.rotation))*tempEnemy.speed; 
     if (tempEnemy.x < 0) 
     { 
      tempEnemy.x = 0; 
     } 
     if (tempEnemy.x > stage.stageWidth) 
     { 
      tempEnemy.x = stage.stageWidth; 
     } 

     if (tempEnemy.y > stage.stageHeight) 
     { 

      //Remove enemy from enemies array 
      removeEnemy(i); 
      //Subtract a life 
      trace("awwwww"); 
     } 
    } 
} 

function removeEnemy(idx:int) 
{ 
    removeChild(enemies[idx]); 
    enemies.splice(idx,1); 
} 

回答

0

你應該調用moveEnemies();每一幀,就像這樣:

import flash.event.Event; 
addEventListener(Event.ENTER_FRAME, onEnter_frame); 
function onEnter_frame(e:Event):void { 
    moveEnemies(); 
} 

還,它可能是你的敵人的類型設置爲敵人,而不是影片剪輯

var enemy:Enemy = new Enemy(); 
一個好主意