2013-04-17 1 views
0

AS3을 사용하여 터치 스크린에서 매우 간단한 스 와이프 인식을 구현하려고합니다. 스 와이프가 왼쪽, 오른쪽, 위쪽 또는 아래쪽인지 여부를 알아야합니다.AS3에서 (MultiTouch를 사용하여) 기본 스 와이프 방향을 결정하는 방법은 무엇입니까?

첫 번째 질문 : 단순한 MOUSE_DOWN 및 MOUSE_UP을 사용하는 것이 더 쉬울 것이며 이동 된 거리를 계산하기 만하면됩니까?

아니면 MultiTouch를 사용하는 것이 더 쉬울까요?

나는 멀티 터치 스 와이프 감지 기능을 구현하는 방법을 보여주는 따라서 방향을 얻기위한 코드를 참조하십시오

 if (e.offsetY == 1) { 
    //User swiped towards bottom 
    square_mc.y += 100; 
    } 
    if (e.offsetY == -1) { 
    //User swiped towards top 
    square_mc.y -= 100; 
    } 
      if (e.offsetX == 1) { 
    //User swiped towards right 
    square_mc.x += 100; 
    } 
    if (e.offsetX == -1) { 
    //User swiped towards left 
    square_mc.x -= 100; 
    } 

을하지만 당신은 (즉, 등을 오른쪽 또는 하단 왼쪽 또는 최대한다) 한 방향으로 해결해야하는 경우 , 당신은 어떻게합니까 (offsetX과 offsetY가 참 오프셋 인 경우 +1과 -1 만 검사하는 이유는 무엇입니까?) 또는 스 와이프 중에 자주 호출되는 함수입니까? 한 번의 스 와이프 완료를 시도하고 있습니다.).

MultiTouch를 건너 뛰는 것이 더 간단 할 수도 있지만 피드백을 환영한다고 생각합니다. 감사!

+0

멀티 터치 프로토콜을 사용하면 실제로 더 쉽게 사용할 수 있습니다. – zonabi

답변

0

당신은

1 코드의 출처 자습서를 다시 읽어 ... 두 가지를 수행하여 자신의 질문 (들)에 응답 할 수 있습니다 .. 특히 http://www.republicofcode.com/tutorials/flash/as3swipegesture/

"제스처를 코딩"향했다 섹션

2 실험을하고 결과를 관찰함으로써 배웁니다. 예를 들어 ...

하지만 당신은 (즉, 당신이 그렇게 어떻게 .... 왼쪽 또는인가?

을 한 방향으로 해결해야하는 경우 잘 무엇에이 줄을 잘못 코드 if (e.offsetX == -1) { square_mc.x -= 100; }을 제공 했습니까? 테스트 했습니까? 왼쪽 방향으로 스 와이프하면 square_mc가 왼쪽으로 100 픽셀 이동하지 않았습니까? 한 방향으로 성공적으로 "해결 된"경우 다른 방향으로 다른 If 문을 추가 할 수 있습니다.