我是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();
}
它工作正常,但我无法使用滑块。如果我拖动滑块,则整个影片剪辑会移动。我怎么解决这个问题?干杯!
答案 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();
}
那应该可以解决你的问题:)