2012-08-31 3 views
2

저는 Kinect를 사용하여 LED 점에 대한 플래시 앱을 작성하여 점을 추적합니다. 대화식은 3 개의 영역으로 나뉩니다. 특정 영역에 다른 영역보다 많은 점이 있으면 포토 스트림을 트리거하는 다른 응용 프로그램에 메시지를 보냅니다 (현재 중요하지 않음).AS3 특정 좌표 내의 TUIO 포인트를 계산합니다.

이 점을 계산하는 가장 좋은 방법은 있다. 세 가지 다른 용기가 그것을할까요? 그렇다면 각 컨테이너가 효과적으로 포인트를 "포함"할 수있는 방법은 무엇입니까? 3 개의 직사각형을 그려서 각 직사각형의 좌표 내의 포인트를 계산하는 일종의 함수를 만드는 것을 생각하고있었습니다. 나는 특정 지역이나 DisplayObject와 결혼 한 특정 지점을 유지하는 방법에 대해 정말로 머리를 감쌀 수 없습니다.

의견이 있으십니까? 고마워요 ...

답변

2

다른 컨테이너 안에 배치 포인트는 풍선 안에 구슬을 넣는 것과 같습니다. 포인트는 움직일 것이지만 풍선의 경계는 대리석을 수용하기 위해 늘어납니다. 이것이 당신이 찾는 행동이 아니라면, 당신의 사각형에 포인트를 모으지 마십시오.

특정 사각형 레이아웃을 가정 할 때 각 사각형에 겹치는 점의 수를 계산하는 것이 목표입니다. 오버랩을 확인하기 위해 기하학/삼각법 계산의 경로를 확실히들 수 있지만 (기하학이 삼각형 또는 양면 오브젝트와 같이 더 복잡한 경우) getObjectsUnderPoint() & Point object을 사용하여 프레임 스탯으로 벗어날 수 있습니다.

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

3 개 지역 각각에 대해 배열을 확인하면 답을 얻을 수 있습니다. :)

+0

큰 ... 나는 이것을 들여다 볼 것이다. 나는 이드가 컨테이너에서 그들을 잡으려고하는 것과 같은 문제가 있다고 생각했다. :) – MaxG

관련 문제