2013-08-12 1 views
1

그래픽으로 두 항목을 연결해야합니다. 이젤을 사용하여 두 객체 사이에 임의의 선을 그릴 수있는 가장 좋은 방법은 무엇입니까? 가장 가까운 물체에 부착 된 자석 선과 같은 것을 만들 수 있습니까?EaselJS로 임의의 선 그리기

그 예가 있습니까?

감사합니다.

답변

3

가장 쉽고/빠른 방법은 아마도 Shape를 사용하고 moveTo()을 첫 번째 오브젝트의 좌표와 함께 사용하고 lineTo()을 두 번째 오브젝트의 좌표와 사용하는 것입니다. 그리고 물체가 움직일 때마다 그것을 깨끗이하고 선을 다시 그립니다. 성능이 현명한 경우 이것이 최선의 방법인지 정말로 말할 수는 없지만 너무 많은 선과 데스크톱 만있는 것이 아니라면 걱정하지 않으셔도 좋습니다.

또 다른 옵션은 선과 눈금을 포함하고 올바른 길이/각도로 회전하는 비트 맵을 사용하는 것입니다. 선이 어떤 식 으로든 '환상적'이 되려면이 방법이 더 유용 할 것입니다. 모양으로 그리기가 너무 어렵다.

+0

두 방법 모두 나에게 좋을 것 같지만, 모바일 장치에서 사용할 수 있기 때문에 선을 다시 그리지 않을 것이라고 생각합니다. 첫 번째 방법과 관련된 질문 만 두 지점 사이의 선이 세 번째 개체와 충돌하는지 확인하는 방법이 있습니까? – Cod1ngFree

+0

확실, 방법 1) 가장 좋은 수행 방법 : obj3에서 줄까지 거리 측정 : http://en.wikipedia.org/wiki/Distance_from_a_point_to_a_line 그리고 특정 임계 값 (너비/높이)보다 작 으면 obj3) obj1과 obj2 사이에 거짓이 있는지 검사해야합니다. 그렇다면 intersercts입니다. ** 또는 ** 방법 2) (좀 더 정확함) obj3의 경계를 계산하고 해당 직사각형의 각면에 대해 라인 라인 검사를 사용하십시오. http://en.wikipedia.org/wiki/Line-line_intersection, 교차점 중 하나가 obj1 + 2 – olsn

+0

또는 방법 3 사이에 있는지 확인해야합니다. 최악의 수행은하지만 쉽고 픽셀 완벽한 방법입니다 (비트 맵에서는 작동하고 ** 모양과 함께 **는 사용하지 않습니다). 선, 그런 다음 픽셀 충돌 검사 (https://github.com/olsn/Collision-Detection-for-EaselJS)를 수행 한 다음 충돌이 발생하면 조치를 취하십시오. – olsn