FLASH AS2动态添加按钮
FLASH AS2 dynamically added button
_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 导出已打开)。
当我点击 "blank_btn" 时,没有任何反应。跟踪不工作。
我做错了什么?
更新:如果我取消注释第 8 行,一切正常。
它不起作用,因为当您在 blank_btn 上添加 onRelease
处理程序时,blank_btn
是 undefined
。
尝试在定义 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");
}
}
_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 导出已打开)。
当我点击 "blank_btn" 时,没有任何反应。跟踪不工作。
我做错了什么?
更新:如果我取消注释第 8 行,一切正常。
它不起作用,因为当您在 blank_btn 上添加 onRelease
处理程序时,blank_btn
是 undefined
。
尝试在定义 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");
}
}