반응형
코드 작성
using UnityEngine;
public class SwipeInput : MonoBehaviour
{
private Vector2 fingerDownPosition;
private Vector2 fingerUpPosition;
private bool isSwiping = false;
public float swipeThreshold = 50f;
void Update()
{
// 터치 입력의 개수를 확인합니다.
if (Input.touchCount > 0)
{
// 첫 번째 터치 입력을 가져옵니다.
Touch touch = Input.GetTouch(0);
// 터치 상태에 따라 다른 동작을 수행합니다.
switch (touch.phase)
{
case TouchPhase.Began:
// 터치가 시작되면 시작 위치를 기록합니다.
fingerDownPosition = touch.position;
isSwiping = true;
break;
case TouchPhase.Moved:
break;
case TouchPhase.Ended:
// 터치가 종료되면 종료 위치를 기록하고 스와이프를 확인합니다.
fingerUpPosition = touch.position;
CheckSwipe();
isSwiping = false;
break;
}
}
}
void CheckSwipe()
{
// 스와이프 거리를 계산합니다.
float swipeDistanceX = Mathf.Abs(fingerDownPosition.x - fingerUpPosition.x);
float swipeDistanceY = Mathf.Abs(fingerDownPosition.y - fingerUpPosition.y);
// 좌우 스와이프 확인
if (isSwiping && swipeDistanceX > swipeThreshold && swipeDistanceX > swipeDistanceY)
{
if (fingerDownPosition.x - fingerUpPosition.x > 0)
{
// 왼쪽으로 스와이프한 경우
Debug.Log("왼쪽으로 스와이프");
}
else
{
// 오른쪽으로 스와이프한 경우
Debug.Log("오른쪽으로 스와이프");
}
}
// 상하 스와이프 확인
else if (isSwiping && swipeDistanceY > swipeThreshold && swipeDistanceY > swipeDistanceX)
{
if (fingerDownPosition.y - fingerUpPosition.y > 0)
{
// 아래로 스와이프한 경우
Debug.Log("아래로 스와이프");
}
else
{
// 위로 스와이프한 경우
Debug.Log("위로 스와이프");
}
}
}
}
반응형
'개발 > C#' 카테고리의 다른 글
유니티 C# 화면 안 꺼짐 방지, 화면 안 꺼지도록 하기 (0) | 2024.03.14 |
---|---|
유니티 C# 방치형 돈 자동생산 코드 작성하기 간단 구현 (0) | 2024.03.14 |
유니티 C# 간단한 디펜스 게임 만들기 Defense (0) | 2024.03.14 |
유니티 C# 서버 없이 인앱 업데이트 간단 구현 Play Update (0) | 2024.03.14 |
유니티 C# 2d 가상 조이스틱 간단 구현 joystick (0) | 2024.03.09 |
유니티 C# 2d 넉백 효과 간단 구현 Collider knock back (0) | 2024.03.09 |
유니티 C# UI 파티클이 스크롤뷰 밖에서 렌더링 안 되도록 하는 방법 (0) | 2024.03.06 |
유니티 C# 쿠폰 시스템 만들기 간단 구현 Coupon (0) | 2024.02.29 |
댓글