앱 만들기/유니티2D 게임 만드는 방법

유니티 키보드로 캐릭터 움직이는 방법(4방향)

나도처음이야 2024. 10. 31.

키보드로 캐릭터를 움직이는 방법이다.

방향키 상하좌우에 따라서 자동차 이미지가 해당 방향으로 움직인다.

자동차 이미지를 씬뷰에 배치한뒤, 스크립트 코드를 자동차 오브젝트에 적용한다.

 

C#코드

using UnityEngine;

public class KeyInputMove : MonoBehaviour
{
    public float speed = 2;
    float x = 0;
    float y = 0;
 
    // Update is called once per frame
    void Update()
    {
        Debug.Log("Update");
        //키 입력없을때는 정지하기 위해서
        x = 0;
        y = 0;
       //오른쪽 방향키 입력시
       if(Input.GetKey("right")){
            x = speed;
        }
        //왼쪽 방향키 입력시
        if (Input.GetKey("left"))
        {
            x = -speed;
        }
        if (Input.GetKey("up"))
        {
            y = speed;
        }
        if (Input.GetKey("down"))
        {
            y = -speed;
        }
    }
    private void FixedUpdate()
    {
        //좌표점 이동 하기
        transform.Translate(x/50, y/50, 0);
    }
}

 

- Update() 함수에서 키 입력 구현을 한다. 

   그 이유는 고정적으로 1초에 50번만 실행하는 FixedUpdate()함수는 키보드 입력값을 놓칠수도 있기에

   Update()함수에서 입력에 키 값에 따라 x,y 좌표점을 설정한다.

- 키 입력을 없을때는 x,y 값을 0으로 초기화 해야지만 캐릭터 가 계속해서 움직이지 않는다.

- FixedUpdate()에서는 실제로 좌표점 이동을 구현한다.

반응형

댓글