2016-05-13 78 views
0
_root.attachMovie("zoom_btn", "zoom_btn", _root.getNextHighestDepth()); 

zoom_btn.onRelease = function() { 
    _root.attachMovie("blank_btn", "blank_btn", _root.getNextHighestDepth()); 
    blank_btn._x=200; 
} 

//zoom_btn.onRelease(); 

blank_btn.onRelease = function() { 
    trace ("click"); 
} 

點擊「zoom_btn」後,從庫中添加「blank_btn」階段(導出爲AS爲ON)。FLASH AS2動態添加按鈕

當我點擊「blank_btn」時,沒有任何反應。跟蹤不起作用。

我在做什麼錯?

UPD:如果我取消註釋第8行,所有工作正常。

回答

0

它不起作用,因爲當您在blank_btn上添加onRelease處理程序時,blank_btnundefined。 嘗試在定義onRelease函數之前添加trace(blank_btn),它將輸出undefined

當您取消zoom_btn.onRelease();的註釋時,其工作原因是因爲它在添加onRelease處理程序之前創建了bank_btn

如果你想做到這一點,你需要做的是這樣的:

zoom_btn = _root.attachMovie("zoom_btn", "zoom_btn", _root.getNextHighestDepth()); 
zoom_btn.onRelease = createBlankButton 

function createBlankButton() { 
    blank_btn = _root.attachMovie("blank_btn", "blank_btn", _root.getNextHighestDepth()); 
    blank_btn._x=200; 
    blank_btn.onRelease = function() { 
     trace ("click"); 
    } 
} 
+0

謝謝!它幫助到我! –