2012-10-27 83 views
0

我想在創建子項之後將其刪除x秒。我怎樣才能做到這一點?x秒後移除一個孩子? AS3

孩子是在一個函數內部創建的。

基本上,這樣的事情...

function makechild() { 
    addChild(thechild); 
    thechild.x=240; 
    thechild.y=330; 
    // what should go here? so it deletes after x seconds? 
} 

回答

1

使用通過flash.utils.setTimeout()這樣的一次性計時器:

setTimeout(dropChild,seconds*1000); 
... 
function dropChild():void { 
    removeChild(thechild); 
} 
+0

是啊,就像你貼我想通了......我是想同樣的事情,但我搞砸了函數名(增加了一個額外的大寫字母):(無論如何! – Butterflycode

0

使用ActionScript 2,你會用的setInterval 。然而,ActionScript 3的方式是使用Timer類,像這樣:

function makechild() { 
    addChild(thechild); 
    thechild.x=240; 
    thechild.y=330; 
    // add a timer to "thechild" that will trigger it to be deleted 
    thechild.selfdestruct:Timer = new Timer(1000, 1); // 1 second 
    thechild.selfdestruct.addEventListener(TimerEvent.TIMER, deleteobject); 
    thechild.selfdestruct.start(); 
} 

function deleteobject(event:TimerEvent):void { 
    // delete the child object, below is one example 
    this.parent.removeChildAt(0); 
} 

你可以從ActionScript文檔Timer類地段的更多細節。有關Timer類與setInterval的更多信息請參見以下鏈接: http://blogs.adobe.com/pdehaan/2006/07/using_the_timer_class_in_actio.html