1

私はPaneledVideoPodと呼ばれるSpark Groupタイプを持っており、これらのものを制限付きでドラッグ可能にしようとしています。つまり、ユーザーがこれらのものを画面から部分的にドラッグできるようにしたくありません。ドラッグ機能のほとんどすべての部分を実装しているときに気付いたのは、Flex が一般的にこの機能をうまく処理できないということです...しかし、それについてはあまり脱線したくありません。

Flex の実装で気まずい点の 1 つは、そのグループの x および y プロパティがドラッグされている間に変更されることですが、x および y のセッターをオーバーライドしようとしても、何も起こりません。

override public function set x(value:Number):void
{
    Alert.show("spam"); // x is still set just fine from the dragging, and no
                        // Alert message is shown.
}

移動イベントに応答しようとしても、stopDrag() が呼び出されるまで機能しません (私は startDrag() と stopDrag() を使用しています)。複数の理由から、これをタイマーで処理したくありません。

startDrag()とstopDrag() を介してドラッグする目的で x と y のセッターを直接オーバーライドできない場合、x と y が特定の範囲外に設定されないようにするために、何を使用すればよいでしょうか? 試行錯誤を繰り返してきましたが、信頼性、タイミング、またはその両方に問題があることがわかりました。ありがとう!

4

1 に答える 1

1

オプションの 2 番目のパラメーターを startDrag() に使用します。これは、コンポーネントのドラッグを制限する境界を指定する Rectangle です。

于 2013-06-26T18:04:14.613 に答える