0

現在、私はフラッシュ アクション スクリプト 3 ゲームを作成しており、モデル クラスからのディスパッチ イベントを使用して、ビュー クラスに自分自身を更新するように指示しています。ただし、問題は、ディスパッチ イベントがまったく異なる理由で発生する 2 つの変数があることです。モデル変数の 1 つが設定されるたびに、両方のリスナーがトリガーされないようにしたいと考えています。

現在、モデル クラスの変数の getter/setter は次のようになっています。

public function get swankle():Boolean
        {
            return _swankle;
        }

        public function set swankle(value:Boolean):void
        {
            _swankle = value;
            dispatchEvent(new Event(Event.CHANGE));
        }

私が思いついた可能な解決策:

  • CHANGE イベントに何らかの名前を付ける
  • 新しい CHANGE イベントが必要になるたびに、新しいモデル クラスを作成します。

皆さんが思う最善の方法を教えてください。

乾杯、ジム

4

1 に答える 1

0

2 つの異なる目的のためにカスタム イベントを作成します。

dispatchEvent(new Event("SwankleChange"));

ただし、デバッグと読みやすさの目的で、プレーンテキストの代わりに静的定数を使用する可能性が高くなります。

public static const SWANKLE_CHANGE:String = "SwankleChange"; //in your class that contains your swankle methods

次に、これを行うことができます:

dispatchEvent(new Event(SWANKLE_CHANGE));

と:

swankleClassInstance.addEventListener(SwankleClass.SWANKLE_CHANGE, doSomething); //SwankleClass is whatever the class name is that contains the code you posted
于 2013-05-31T19:16:39.750 に答える