본문 바로가기

유니티

2D 캐릭터 이동

반응형

스크립트를 통해서 2D캐릭터의 움직임을 구현하였다.

스크립트를 생성하는 법은 간단하다.

따로 Assets에 스크립트폴더를 생성하고 우클릭으로 스크립트를 생성해준다. 그리고 스크립트를 드래그해서 

부모 오브젝트의 Component에 추가해준다. 그리고 해당 스크립트를 작성해준다.

스크립트는 아래와 같다.

Update()는 1분에 약 60번 업데이트 되며

시작할때 speed_vec=Vector2.zero를 통해 계속 1초마다 속도를 0으로 맞춰준다.

왜 시작할때마다 0으로 맞춰줘야 하는가? 안 그렇가면 방향키를 딱 한번만 눌러도 계속 그 방향으로 가기 때문이다.

If문을 사용해서 키보드 입력을 받으면 해당 방향으로 속도를 0.1f만큼 더해준다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour
{
    public Vector2 speed_vec;
    // Start is called before the first frame update
    void Start()
    {
        
    }
    // Update is called once per frame , 1분에 약60번 업데이트
    void Update()
    {
        speed_vec = Vector2.zero;//1초마다 계속 0으로 업데이트
        if(Input.GetKey(KeyCode.RightArrow))//오른쪽 방향키 누르면
        {
            speed_vec.x += 0.1f;
        }
        if(Input.GetKey(KeyCode.LeftArrow))//왼쪽 방향키 누르면
        {
            speed_vec.x += -0.1f;
        }
        if(Input.GetKey(KeyCode.Space))//스페이스바 누르면
        {
            speed_vec.y += 0.1f;
        }
        transform.Translate(speed_vec);
    }
}

 

 

 실행영상은 아래와 같다.

아직 왼쪽 방향키를 눌렀을때 캐릭터가 왼쪽을 바라보게 하는것은 구현하지 못했다.

또한 점프도 부자연스럽다. 다음번 개발 땐 조금더 자연스럽게 바꾸도록 하겠다.

댓글과 지적은 언제든지 환영입니다~!

donaricano-btn글이 마음에 들었다면 왼쪽 이미지를 눌러 후원 부탁드립니다><

반응형