0

我是 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();
}

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

4

1 回答 1

0

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

您在代码中所做的似乎是将事件侦听器添加到容器中,这意味着“如果在此对象上的任何位置发生单击,请执行以下操作”。由于该剪辑“拥有” 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();
}

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

于 2012-12-15T16:21:49.197 回答