2

我正在使用 Kinect 为 LED 地板编写一个 Flash 应用程序来跟踪 tuio 点。互动分为三个区域。当特定区域的 tuio 点数比任何其他区域多时,它会向另一个应用程序发送消息,触发照片流(现在不重要)...

我想知道计算这些点的最佳方法是什么。三个不同的容器可以做到吗?如果是这样,每个容器如何有效地“包含”这些点。我正在考虑绘制三个不同的矩形并创建某种函数来计算每个矩形坐标内的点。我只是无法真正了解如何将某些点与特定区域或 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 回答