상세 컨텐츠

본문 제목

유니티 똥 피하기 게임 만들기 두 번째

프로그래밍/유니티

by 개발자입니다 2020. 6. 26. 23:50

본문

728x90
반응형

똥 피하기 두번째 포스팅에서는 플레이어의 이동에 대하여 다루려고 한다.

객체를 이동하는 방법에는 가지각색이다. 이번 똥 피하기 게임의 프로젝트 최종 목표는 어플을 만들어보는 것에 목표를 두었기에, 터치가 작용 해야하며, 이를 위해 IPointerHandler를 이용하려고 한다.


IPointerHandler는 여러가지 함수가 포함 되어 있는데 이번 플레이어 이동에서는 두 가지만을 다루어 터치가 되고 있을 때와, 되지 않을 때를 판별해 플레이어를 이동 시켜보려고 한다.




먼저 터치 공간을 반절씩 나누어 각각의 공간을 터치한다면 플레이어가 왼쪽과 오른쪽으로 이동하게 하였다. 이를 위해 새로운 UI Image를 만들어 알파 값을 0으로 하고 반절씩 배치 하였다.




이후 아래와 같이 스크립트를 만들어 컴포넌트 하여준다.





using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.EventSystems;




public class touchR : MonoBehaviour, IPointerDownHandler, IPointerUpHandler

{

    //player 객체, 논리형 변수 선언

    public GameObject player;

    private bool playerBool = false;


    void Update()

    {

        //만약 터치 중이면

        if (playerBool)

        {

            //플레이어를 오른쪽으로 이동

            player.transform.Translate(Vector2.right * 500f * Time.deltaTime);

        }

        

    }


    //다음과 같은 함수로 모바일 터치시 행동을 제어할 수 있다.

    public void OnPointerDown(PointerEventData eventData)

    {

        //누르면 논리형 변수 true    //터치 하고 있을 때 

        playerBool = true;       

    }

    public void OnPointerUp(PointerEventData eventData)

    {

        //떼면 논리형 변수 false    //터치를 뗄 때

        playerBool = false;

    }

}



플레이어는 Public 으로 선언 하였으니 플레이어를 하이어라키 창에서 인스펙터 창으로 드래그하여준다.




스크립트 캡쳐 본은 한 개만 첨부하였다. 위에 설명과 같이 오른쪽 UI Image를 누르면 오른쪽으로 이동할 것이며, 이동 방향을 왼쪽으로 바꾸어 스크립트를 만들고 컴포넌트 한다면 왼쪽으로 이동하는 것을 확인할 수 있을 것이다. 






위 영상은 플레이어의 이동을 녹화한 것이며, 이상 포스팅을 마친다.


다음 포스팅은 프리펩과 랜덤 값을 이용해 똥을 서로 다른 위치해서 무한적으로 생성하여 화면에서 내려보는 포스팅 하겠다.

728x90
반응형

관련글 더보기

댓글 영역