0

as3は初めてです。長方形を作成し、それをシンボルに変換します。次に、シンボルに入り、2つのスライダーを作成します。また、シンボルをドラッグ可能にします。

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はrectangle[background]と2つのスライダーを含むコンテナーであると思います。

コードで行ったように見えるのは、コンテナにイベントリスナーを追加することでした。つまり、「このオブジェクトのどこかでクリックが発生した場合は、次のようにします」ということです。そのクリップは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 に答える