0
public function Main():void
{
trace(ary);
for (var i:int = 0; i < 150; i++)
{
ary[i] = i * 2 + 1;
var line:TextField = new TextField();
line.text = ary[i];
line.x = i * 20;
addChild(line);
}
var myTimer:Timer = new Timer(25,100);
myTimer.addEventListener(TimerEvent.TIMER, circleSpawnAndRemove);
myTimer.start();
}
這是我的主要功能,它包含一個數組和一個計時器。每當計時器運行時,它應該創建一個具有一定大小的圓,等待24毫秒並再次移除。嘗試刪除延遲的圓。結束了一個錯誤。 [AS3]
public function circleSpawnAndRemove(e:TimerEvent):void
{
ball.graphics.beginFill(0xFFFFFF * Math.sin(0.1 * i), 0.5);
ball.graphics.drawCircle(tel, 300 , kaas);
ball.graphics.endFill();
trace (i);
addChild(ball);
tel = 400;
kaas = ((125 - (Math.sin(50 * i) * 125)) + 10)
i++
var remover:Timer = new Timer(24);
remover.addEventListener(TimerEvent.TIMER, ballRemover);
remover.start();
function ballRemover(e:TimerEvent):void
{
if (i > 1)
{
removeChild(ball[i]);
}
else
{
trace("stresss")
}
}
}
這是生成一個圓的代碼。當它試圖移除球時,它會顯示以下錯誤。 (翻譯)「給定的displayobject必須是調用者的孩子」
ball [i]指的是數組上的一個元素,但是您沒有球數組。我不相信你需要另一個嵌套在你的初始定時器處理程序中的定時器。你能不能直接在新的球產卵之前將其移除? –
作爲一個方面說明:像你的ballRemover()這樣的匿名函數在AS3中是不好的編碼習慣。把它變成一個私有函數,不要忘了在你不再需要的時候移除eventlistener。 – DodgerThud