AS3在特定坐标内计算TUIO点

时间:2012-08-31 14:41:17

标签: actionscript-3 tracking kinect counting

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

我想知道计算这些要点的最佳方法是什么。三个不同的容器会这样做吗?如果是这样,每个容器如何有效地“包含”这些点。我正在考虑绘制三个不同的矩形并创建某种函数来计算每个矩形的坐标内的点。我无法真正地了解如何保持某些点与特定区域或DisplayObject结合。

有什么想法?谢谢......

1 个答案:

答案 0 :(得分:2)

将点放在另一个容器内就像把气球放在气球里面;点将移动,但气球的边界将伸展以容纳大理石。除非这是你正在寻找的行为,否则不要将这些点加入矩形。

假设特定的矩形布局,您的目标是计算每个矩形重叠的点数。虽然您当然可以通过几何/三角函数计算来确定重叠(如果您的几何图形更复杂,例如三角形或n面对象),您可能只需使用getObjectsUnderPoint()的框架就可以了。 &安培; Point object ..

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

检查3个区域中每个区域的阵列,您将得到答案。 :)