2013-07-19 3 views
2

KineticJS는 스테이지를 다시 그려서 배경 레이어의 클릭을 처리하는 데 문제가있는 것 같습니다.KineticJS : 배경 레이어로 클릭하면 그려진 후 시작이 중지됩니다.

나는이 문제의 최소한의 예를 가지고 jsfiddle을 가지고있다. http://jsfiddle.net/Z2SJS/

라인 (34)에 나는이 :이 주석 처리 된 경우가 정상적으로

stage.draw() 

이벤트가 발생. 이 아이콘이 있으면 클릭 이벤트를 백그라운드로 드래그 한 후에 실행이 중지됩니다.

나는이 예제에서 무대를 다시 그리도록 요구하지는 않지만, 내 프로젝트에서는 여러 레이어의 객체를 조작하기 위해 dragstart 및 dragmove 이벤트를 사용하고 있다는 것을 알고있다. 배경 클릭.

무대를 다시 그려도 내 이벤트가 중지되지 않도록하려면 어떻게해야합니까? 대신 stage.draw() 사용 foreground.draw()

를 사용

답변

1

여기에 다른 방법으로 업데이트 된 fiddle

입니다 : 원 인스턴스 내부 dragOnTop: false 설정합니다. Fiddle2

+0

무대에서 다시 그리기에서 변경된 영향을받는 개별 레이어를 다시 그리기로 변경합니다. 설정 * dragOnTop : false * 아무 효과가 없지만 여전히 stage.draw()를 호출 할 수 없습니다. 이것이 버그라고 생각하는 것은 잘못된 것인가? – stats

+0

흠 ... 모르겠다 ... 내 피들이 여전히 foreground.draw()를 가지고 있으므로 변경 한 dragOnTop이 아닙니다. 다시 누르면 새로운 바이올린을 설정하는 데 도움이되지 않는 것 같습니다. 어쨌든! 그래서 버그는 아니지만 Eric (KineticJS 제작자)이 대답하는 가장 좋은 사람이 될 수도 있습니다. – Ani

+0

더 나은 성능을 위해 전체 스테이지가 아닌 개별 레이어를 항상 다시 그리는 것이 좋습니다. – Ani

관련 문제