Flash动作脚本3:拖动影片剪辑问题

时间:2012-12-15 15:52:39

标签: actionscript-3 flash

我是as3的新手。我创建一个矩形并将其转换为符号。然后我进入符号并创建两个滑块。另外,我使符号可拖动。

controlPanel_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragStartF);
controlPanel_mc.addEventListener(MouseEvent.MOUSE_UP, dragEndF);

function dragStartF(e:MouseEvent){
    e.currentTarget.startDrag();
}
function dragEndF(e:MouseEvent){
        e.currentTarget.stopDrag();
}

它工作正常,但我无法使用滑块。如果我拖动滑块,则整个影片剪辑会移动。我怎么解决这个问题?干杯!

1 个答案:

答案 0 :(得分:0)

如果没有关于FLA文件结构的更多信息,我假设controlPanel_mc是包含矩形[background]和两个滑块的容器。

您在代码中所做的似乎是向容器添加事件侦听器,这意味着“如果点击发生在此对象的任何位置,请执行以下操作”。由于该剪辑“拥有”2个滑块,因此滑块将不会获得任何MOUSE_DOWN事件,因为父级始终是首先处理事件的那个。

您可能希望将背景转换为符号,并将eventListeners添加到该对象中。

bg.addEventListener(MouseEvent.MOUSE_DOWN, onBgClick);
bg.addEventListener(MouseEvent.MOUSE_UP, onBgRelease);

function onBgClick(e:MouseEvent){
    controlPanel_mc.startDrag();
}
function onBgRelease(e:MouseEvent){
    controlPanel_mc.stopDrag();
}

那应该可以解决你的问题:)

相关问题