2

Kinect を使用してトゥイオ ポイントを追跡する LED フロア用のフラッシュ アプリを作成しています。インタラクティブは 3 つのゾーンに分かれています。特定のゾーンに他のどのゾーンよりも多くのトゥイオ ポイントがある場合、フォトストリームをトリガーする別のアプリケーションにメッセージが送信されます (現時点では重要ではありません)...

これらのポイントをカウントする最良の方法は何だろうと思っています。3つの異なるコンテナでそれができますか? もしそうなら、各コンテナがポイントを効果的に「含む」ことができるのはどうしてですか。3 つの異なる Rectangle を描画し、各 Rectangle の座標内のポイントをカウントする何らかの関数を作成することを考えていました。特定のポイントを特定の領域または DisplayObject と結び付ける方法について、頭を悩ませることはできません。

何かご意見は?ありがとうございました...

4

1 に答える 1

2

別のコンテナ内にポイントを配置することは、風船の中にビー玉を配置するようなものです。ポイントは移動しますが、バルーンの境界はビー玉を収容するために伸びます。これがあなたが探している振る舞いでない限り、あなたの長方形にポイントを親にしないでください。

長方形の特定のレイアウトを想定すると、目標は各長方形に重なるポイントの数を数えることです。ジオメトリ/三角法の計算のルートをたどってオーバーラップを確認することはできますが(三角形やn面のオブジェクトなど、ジオメトリがより複雑な場合)、 getObjectsUnderPoint()Pointを使用してフレームスタックを回避することもできます。オブジェクト..

var point:Point = new Point(tuioX, tuioY);
var stack:Array = getObjectsUnderPoint(point);

3つの領域のそれぞれの配列を確認すると、答えが得られます。:)

于 2012-08-31T15:05:07.230 に答える