2016-05-13 32 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

谢谢!它帮助到我! –