플레이어 GameObject 생성하기


이동 스크립트 생성해 할당
프로젝트뷰에서 폴더를 만들고 이름은 Scripts로 합니다.

스크립트 폴더에서 우클릭하고 C# Script를 만들어줍니다.

이름은 PlayerMove로 하고 바꾸시면 안됩니다. 열어보시면 클래스 이름과 동일해야하기 때문이죠


이 스크립트를 끌어다 하이라키의 Player에 가져다 놓으면 컴포는트로 추가 됩니다.


스크립트를 열면 Visual Studio가 실행됩니다. 안되는 분은 설정해주셔야 합니다. Update() 함수에 코드를 추가합니다.
유니티는 라이프싸이클을 가지고 있는데 Update()는 실시간으로 값을 갱신해 줍니다.
Translate라는 뜻은 번역 벡터에서는 변환이라는 뜻인데 여기서는 이동 정도로 우선 생각하자.
원래 게임에서 이동을 시키려면 현재의 위치를 얻어 이동값을 더해주고 다시 설정해야 하는데 Translate는 파라미터 값만큼 이동시켜주는 듯.
void Update()
{
transform.Translate(Vector3.right*5*Time.deltaTime);
}
speed라는 변수를 만들어 보자
public float speed = 5;
// Update is called once per frame
void Update()
{
transform.Translate(Vector3.right*speed*Time.deltaTime);
}
저장하고 유니티로 돌아오면 컴파일링을 하고 스크립트 컴포넌트에 스피드가 노출된다.

사용자 입력 처리 Input.GetAxis()로 입력을 받아 벡터화 해주고 이걸로 게임오브젝트의 위치를 갱신해 줍니다.
이번에는 Translate를 사용하지 않고 position에 직접 갱신해 줍니다.
void Update()
{
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
//Vector3 dir = Vector3.right * h + Vector3.up * v;
Vector3 dir = new Vector3(h,v);
//transform.Translate(dir*speed*Time.deltaTime);
transform.position += dir * speed * Time.deltaTime;
}
'인생유니티 > 슈팅게임' 카테고리의 다른 글
총알 이동 제작 Bullet (0) | 2025.04.02 |
---|