반응형

상하좌우로 방향을 전환하는 컨트롤러 스크립트를 만들어 보자.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class Controller : MonoBehaviour
{
    private Rigidbody m_rigidbody;
    public float speed = 3f;
 
    // Start is called before the first frame update
    void Start()
    {
        m_rigidbody = GetComponent<Rigidbody>();
    }
    
    // Update is called once per frame
    void Update()
    {
        if (GameManager.instance.isGameover)
            return;
 
        float xInput = Input.GetAxis("Horizontal");
        float zInput = Input.GetAxis("Vertical");
 
        float xSpeed = xInput * speed;
        float zSpeed = zInput * speed;
 
        Vector3 newVelocity = new Vector3(xSpeed, 0f, zSpeed);
        m_rigidbody.velocity = newVelocity;
        
        if (xInput > 0)
        {
            transform.rotation = Quaternion.Euler(new Vector3(0f, 180f, 0f));
        }
        else if (xInput < 0)
        {
            transform.rotation = Quaternion.Euler(new Vector3(0f, 0f, 0f));
        }
        else if (zInput > 0)
        {
            transform.rotation = Quaternion.Euler(new Vector3(0f, 90f, 0f));
        }
        else if (zInput < 0)
        {
            transform.rotation = Quaternion.Euler(new Vector3(0f, 270f, 0f));
        }
    }
}
 

 

팩맨이 움직이는 방향으로 회전한다.

 

반응형
Posted by J-sean
: