유니티

[유니티 2D] 미로 - 움직이는 C# 추가하기

labj 2024. 3. 10. 01:33

Hierarchy창에 Car 게임오브젝트를 움직이도록 하기 위해서 Move.cs 이란 C#을 만듭니다.

 

 

Hierarchy창에 있는 Car 게임오브젝트에 Move.cs 이란 C#을 연결하기 위해서 Assets 폴더에 있는 Move.cs를 왼쪽 마우스버튼으로 잡고서 끌어다가 Hierarchy창의 Car 게임오브젝트에 놓습니다. 그러면 Car 게임오브젝트의 Inspector 창에 Move(Script) 컴포넌트가 추가 됩니다.

 

 

Move.csUpdate() 함수에 화살표키(,아래,오른쪽,왼쪽 키)를 누르면 Car 게임오브젝트가 움직이도록 합니다.

Transform이란 컴포넌트는 움직임이나 크기, 회전 등의 기능을 바꿀 수 있습니다.  

 

* Move.cs

void Update( )
{
    if (Input.GetKey(KeyCode.RightArrow))
    {
        transform.Translate(10 * Time.deltaTime, 0, 0);
    }
    
    if (Input.GetKey(KeyCode.LeftArrow))
    {
        transform.Translate(-10 * Time.deltaTime, 0, 0);
    }

    if (Input.GetKey(KeyCode.UpArrow))
    {
        transform.Translate(0, 10 * Time.deltaTime, 0);
    }
    
    if (Input.GetKey(KeyCode.DownArrow))
    {
        transform.Translate(0, -10 * Time.deltaTime, 0);
    }
}

 

화살표키(,아래,오른쪽,왼쪽 키)를 누르면 Car 게임오브젝트가 움직입니다그런데 오른쪽 왼쪽키를 눌렀을 때 바라보는 방향이 바뀌도록 하려고 SpriteRenderer 컴포넌트에 있는 flipX를 이용합니다.

* Move.cs

void Update( )
{
    if (Input.GetKey(KeyCode.RightArrow))
    {
        GetComponent<SpriteRenderer>( ).flipX = false;
        transform.Translate(10 * Time.deltaTime, 0, 0);
    }
    
    if (Input.GetKey(KeyCode.LeftArrow))
    {
        GetComponent<SpriteRenderer>( ).flipX = true;
        transform.Translate(-10 * Time.deltaTime, 0, 0);
    }

    if (Input.GetKey(KeyCode.UpArrow))
    {
        transform.Translate(0, 10 * Time.deltaTime, 0);
    }
    
    if (Input.GetKey(KeyCode.DownArrow))
    {
        transform.Translate(0, -10 * Time.deltaTime, 0);
    }
}