2013-02-12 2 views
1

외부에있을 때 이벤트가 붙잡힌 다. 한 손가락으로 그림을 그릴 때 작동합니다. 캔버스와 캔버스 외부에있는 두 손가락으로 그리면 onMouseDrag 이벤트에서 두 번째 손가락 이벤트가 잡히고 첫 손가락에서 두 번째 손가락으로 약간의 스트로크가 가해지므로 좋은 행동이 아닙니다. .PaperJS : 나는 프레임 워크 Paper.js</p> <p>내가 아이 패드를 사용하여 문제를 얻었다을 사용하여 나는 캔버스에 그리는 도구에서 일하고 있어요 캔버스

예 : 시작시

enter image description here

, 나는 한 손가락으로 그리기 시작합니다. 캔버스 바깥에 두 번째 손가락을 놓은 후에 계속 첫 손가락을 움직입니다. 이것은 일어난 일입니다.

캔버스 밖에있을 때 이벤트가 발생하지 않도록 하시겠습니까?

감사합니다.

+0

하지만 두 번째 손가락이 캔버스 안에 있으면이 문제가 발생하기를 원하십니까? – Bergi

+0

아니요, 손가락 하나만 있으면됩니다. 하지만 지금은 캔버스 밖에 있기 때문에 두 번째 그림이 왜 감지되는지 이해할 수 없습니다. 캔버스에 두 손가락을 대면 한 손가락 만 그립니다. 캔버스 밖에서 두 번째 손가락으로도 원하는 것이지만 이걸 얻었습니다. – alexmngn

+0

@alexmngn 해결책을 얻었습니까? 나는 또한이 문제에 직면 해있다. –

답변

-1

음, event.point.isInside (view.bounds)를 테스트 할 수 있습니다. 그리기 중에 테스트하면 성능이 저하 될 수 있지만 작업이 끝나면 포인트를 추려 낼 수 있습니다.

+0

아니요! 그것은 첫 번째 손가락에서부터 캔버스의 경계까지 그려지기 때문에 ... 두 번째 손가락의 감지를 비활성화하는 해결책을 찾고 있습니다. – alexmngn

0

외부에서 손가락을 감지하지 않으려면 대상을 캔버스로 제한하십시오.

var canvasElement = document.getElementById('canvasId') //or element 
    tool.onMouseDrag = function(event) { 
      if (event.event.target === canvasElement) { //my target canvas was nested like this 
       path.add(event.point); 
       path.smooth(); 
      } 
    }