嘿大家所以我知道這一定很簡單,我過於複雜化,無法弄清楚如何去做。所以我有這些明星在我的startScreen
的背景中移動,我想在遊戲開始時將它們移除。如何刪除For循環中的所有對象?
這裏是如何讓他們安裝在我的主類:
public var numStars:int = 4;
//Add star background to startscreen only
for (var i:int = 0; i < numStars; i++)
{
stage.addChild(new mcStar(stage));
}
,並在我的mcStar
類我有這樣的代碼:
public class mcStar extends MovieClip
{
private var stageRef:Stage;
private var starSpeed:Number;
public function mcStar(stageRef:Stage)
{
this.stageRef = stageRef;
setupStar(true);
addEventListener(Event.ENTER_FRAME, loop, false, 0, true);
}
public function setupStar(randomizeY:Boolean = false) : void
{
//Pick the frames for start position
var nRandom:Number = randomNumber(1, 3);
//Setup goto and stop on timeline
this.gotoAndStop(nRandom);
//inline conditional, looks complicated but it's not.
y = randomizeY? Math.random()*stageRef.stageHeight : 480;
x = Math.random()*stageRef.stageWidth;
alpha = Math.random();
//rotation = Math.random()*360;
//scaleX = Math.random();
//scaleY = Math.random();
starSpeed = 2 + Math.random()*2;
}
public function loop(e:Event) : void
{
y -= starSpeed;
if (y <= stage.stageHeight/2)
setupStar();
}
public function destroyStar():void
{
if (this.parent)
{
parent.removeChild(this);
removeEventListener(Event.ENTER_FRAME, setupStar);
removeEventListener(Event.ENTER_FRAME, loop);
}
}
//Generates a truly "random" number
function randomNumber(low:Number=0, high:Number=1):Number
{
return Math.floor(Math.random() * (1+high-low)) + low;
}
}
所以我試圖做到的是在我當用戶按下開始時的主類,我刪除了startScreen我希望所有的開始被刪除並停止產卵。但我無法弄清楚我將如何去除它們。當我嘗試我總是得到一個必須是來電的孩子等...
任何幫助,將不勝感激謝謝!
您可以發佈您在Main類中使用的代碼以刪除星星嗎? – jdfinch3