デザインの問題に直面しているプロジェクトのようなグラフィックボードを構築しています。
メイン クラスは Board で、形状を描画するときにマウス イベントを処理するキャンバスです。また、グリッド磁気を有効にする currentShape や snapFlag などのコンテキスト変数もあります。
形状の移動/サイズ変更/回転を処理するために、ObjectHandles (flex) と呼ばれるサードパーティのオープン ソース ツールを継承します。
onMove 関数などの内部関数の一部をオーバーライドするために、ObjectHandles メイン クラスを拡張する baseShape があります。
シェイプを作成するとき (マウス ダウン、移動、マウス アップ)、これはボードによって処理され、ボード自身のスナップ フラグを認識します。
var mouseUpPoint:Point = boardCanvas.globalToLocal(new Point(event.stageX, event.stageY)); var snapMouseUpPoint = snapPoint(mouseUpPoint.x, mouseUpPoint.y);
私のオーバーライドされた onMove メソッドでは、形状が Board snap フラグとその変化を認識できるようにしたいと考えています。これを行うにはどうすればよいですか?
snap をチェックできるように、basicShape コンストラクターのパラメーターとして Board を渡しますか?
フラグをパラメーターとして渡し、何らかの方法ですべての形状が変更をリッスンするようにしますか?
最もクリーンなソリューションは何ですか?
どうもありがとう。