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

유니티 캐릭터 좌우로 왕복으로 움직이는 방법

나도처음이야 2024. 10. 29.
반응형

 

유니티에서 캐릭터를 좌우로 왕복 움직이게 하는 방법을 다루어본다.

1. 캐릭터 이미지를 우선 씬뷰에 등록 시킨다.

 

2. 두개의 스크립트를 캐릭터 오브젝트에 등록시킨다.

   하나의 스크립트에 기능을 모두 구현하기 보다는, 가로로 움직이는 스크립트 하나와 방향을 턴 하는 스크립트를 나누어서 코딩한다. 가로로 움직이는 코드는 하기 포스팅을 참고 바라며, 여기서는 방향턴 스크립트만 작성한다.

 

유니티 캐릭터 수평(좌우)으로 이동시키는 방법

수평으로 캐릭터를 움직이기 위해서는캐릭터를 화면에 배치 한뒤, 스크립트에서 하기 코드를 작성한다. 1. Scene view 에 자동차를 배치하고, object 이름을 Car 로 변경한다2. Car 오브젝트에 MoveX 라

soo0100.tistory.com

<방향턴 스크립트>

using UnityEngine;

public class SomtimeFlip : MonoBehaviour
{
    public float angle = 180;
    int MaxCount = 200;
    int count = 0;
    bool flip = false;

    // Start is called once before the first execution of Update after the MonoBehaviour is created
    void Start()
    {
        count = 0;    
    }

    private void FixedUpdate()
    {
        count++;
        if(count >= MaxCount)
        {
            //이미지를 회전 시킨다.
            this.transform.Rotate(0, 0, angle);
            flip = !flip;
            this.GetComponent<SpriteRenderer>().flipY = flip;
            //이후 카운트는 초기화!
            count = 0;
        }

        
    }
}

 

- count 변수를 사용해서 일정 시간마다, 방향을 회전할 수 있도록 구현한다.

-  Rotate() 함수는 회전을 시킨다. 여기서는 180도 회전이며, 여기까지만 구현하면 차가 뒤집혀 있게된다.

- this.Getcomponent<객체타입> 을 사용하면, 오브젝트에 추가된 모든 객체에 접근 가능하다.

- 여기서는 SpriteRenderer 객체에 접근한다. 해당 객체는 이미지를 관리하는 객체 이다.

- flipY 값에 boolean 값 true , false 를 반복적으로 넣어준다. 이미지를 flipY는 상하 반전하는 기능이다.

반응형

댓글