본문 바로가기
Dev/Unity(C#)

[Unity 2D] 스와이프를 이용한 게임

by E.Clone 2018. 1. 9.

2D로 프로젝트를 생성한다.


빌드세팅을 안드로이드로 스위치한다. 화면 크기도 조정한다.


소스 파일(이미지,효과음)을 불러오고 씬 저장을 한다.


불러온 이미지 소스파일을 씬에 배치한다.


카메라에 비치는 배경색도 조정 해 준다.




스크립트의 작성을 할 차례이다. 우클릭 후 C# 스크립트 생성 및 편집을 한다.


파일명은 car.cs 로 지었다.


마우스로 스와이프하여 자동차(반디캠 아이콘...)가 달릴 수 있도록 스크립트를 작성 해 보자.


public class car : MonoBehaviour {


    float speed = 0;  // 자동차의 스피드 변수


void Start () {

}

void Update () {

        if (Input.GetMouseButtonDown(0))

        {

            this.speed = 0.2f;

        }


        transform.Translate(this.speed, 0, 0);  //속도의 감속을 나타냄

        this.speed *= 0.98f;

}

}


이것은 출발속도가 0.2로 정해진 코드이다.


스와이프가 어떻든 터치한 즉시 자동차는 출발하여 0.2의 속력을 갖는다.




이제 스와이프 길이에 따라 자동차 이동거리가 바뀌도록 수정하자.


클릭을 시작한 좌표와 클릭이 끝난 좌표의 차이를 스와이프 길이로 이용한다.



public class car : MonoBehaviour {


    float speed = 0;

    Vector2 startPos;


void Start () {

}

void Update () {


        if (Input.GetMouseButtonDown(0))

        {

            this.startPos = Input.mousePosition;

        }

        else if (Input.GetMouseButtonUp(0))

        {

            Vector2 endPos = Input.mousePosition;

            float swipeLength = (endPos.x - this.startPos.x);

            this.speed = swipeLength / 500.0f;

        }


        transform.Translate(this.speed, 0, 0);

        this.speed *= 0.98f;

}

}


자세한 설명은 생략하고, 코드가 완성되었다.






반응형