사용자 도구

사이트 도구


language:unity:3-스마트폰

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
language:unity:3-스마트폰 [2012/12/27 02:02] – 바깥 편집 127.0.0.1language:unity:3-스마트폰 [2024/04/23 22:44] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 +====== swipe 인식 방법 ======
  
 +다른 인터페이스를 못찾아서 우선 이 방법으로.
 +
 +===== 좌 <<->> 우 =====
 +
 +좌에서 우, 또는 그 반대를 인식하기 위해서.
 +  * 터치를 감지할 오브젝트 추가는 따로 하고. 
 +
 +터치를 감지할 오브젝트에 스크립트를 추가하고, OnPress() 함수를 추가한다.
 +
 +  * UICamera.currentTouch.pos : NGUI 이벤트 상에서 터치가 발생된 위치를 저장
 +  * UICamera.currentTouch.totalDelta : OnPress(true)(=마우스 버튼 다운) 이벤트 이후, \\ OnPress(false)(=마우스 버튼 업)가 발생된 타이밍에 이동된 좌표량을 보여준다.
 +
 +<code csharp>
 +void OnPress( bool isPressed )
 +{
 +  // OnPress가 눌렸을때의 좌표 값을 출력해본다.
 +  Debug.Log( "OnPress >> " + isPressed.ToString() + 
 +    ", UICamera.currentTouch.pos >> " + UICamera.currentTouch.pos.ToString() + 
 +    ", UICamera.currentTouch.totalDelta >> " + UICamera.currentTouch.totalDelta.ToString() );
 +
 +// 이렇게 하면, 인식은 된다.
 +if( isPressed == false ) {
 +  if( UICamera.currentTouch.totalDelta.x > 150f &&
 +    Mathf.Abs(UICamera.currentTouch.totalDelta.y) <= 15 )
 +    Debug.Log( "Swipe OK" );
 +  }
 +}
 +</code>
 +
 +간단히는 OnPress(false)일때 UICamera.currentTouch.totalDelta 값만 확인해도 (좌 <<->> 우)스와이프 확인이 가능할 것 같다.
 +위 아래도 큰 문제는 없을 듯 하고..
 +
 +  전체 화면을 대상으로 하는 인식은 어떻게 하나... 화면 크기의 오브젝트를 만들어야 하나?
 +
 +  * 화면 크기만큼 오브젝트 크기를 조정하는 것은 UIScale로 가능
 +
 +====== 에디터의 해상도 설정 화면 ======
 +
 +{{:language:unity:smartphone_size_screenshot.png|}}