2013-06-27 2 views
0

(참고 : 그냥함으로써 처음에 선택한 도형을-선택 드 I는 현재 하나의 선택 이외의 모양을 선택하는 의미 "드 선택"에 의해, 명확하게)EaselJS :에 모양 색상을 변경 드 - 선택

단지를 좀 더 정교하게, 나는 캔버스에 일련의 도형을 얻었다. 내가 클릭하는 모양은 빨간색에서 흰색으로 변합니다. 그러나 그때, 주어진 시간에 오직 하나의 하얀 색의 형상 만 존재할 수 있습니다. 즉, 모양 A를 먼저 클릭하고 모양 B를 클릭하면 모양 B를 클릭하는 순간 모양 A의 색상이 흰색에서 빨간색으로 바뀌어야합니다.

모든 모양에 '클릭'이벤트 수신기를 추가하는 것은 간단합니다. 그러나 이전 모양 개체를 다시 가리켜 원래 색을 복원 할 수있는 방법은별로 없습니다.

도움이 될 것입니다.


업데이트 : - 객체의 전달하여 NOT 메소드 호출 일부 이벤트 리스너를 통해하지만 통해 모든 Shape 객체를 가리 키도록하는 방법을 찾기 추가 연구하면, 나는 나의 목적이 귀결이라고 생각하기 시작 했어 신분증. 그러나 Shape 클래스 메서드 here을 확인했지만 유용 할만한 것을 보지 못했습니다. 여기 뭔가를 놓칠 수 있을까요?

답변

0

"문제"는 easeljs 또는 ObjectType과 관련이없는 프로그램 흐름 문제에 더 가깝습니다.

당신이해야 할 일은 클릭 리스너 내부에서 클릭 된 개체에 대한 (글로벌) 참조를 설정하는 것입니다. 그걸 window.lastClickedShape 또는 비슷한 것으로 말하고 싶습니다. 그리고 도형을 클릭 할 때마다 lastClickedShape != null인지 확인하고 해당 객체의 색상을 재설정합니다.

+0

olsn - 당신 말이 맞아요. 당신의 대답이 제가 너무나 명백한 것을 게을리하고 있다는 것을 깨닫도록 도와주었습니다. 감사! – BinaryCat