유니티

[유니티 2D] 비행선 추가

labj 2024. 3. 8. 18:35

Square를 쫓아 오는 비행선을 추가합니다. 

 

 

비행선의 각도를 보기 위해서 Hierarchy > UI > Text를 추가합니다.

게임오브젝트의 이름을 AngleText로 변경합니다. 

 

 

 

비행선이 Square를 보고 회전해서 움직이도록 합니다비행선에 Rotate.cs를 추가합니다.

* Rotate.cs

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

public class Rotate : MonoBehaviour
{

    public GameObject target;
    public GameObject angleText;

    void Start()
    {
        
    }
    
    void Update()
    {
        Vector3 dir = target.transform.position - transform.position;

        // 각도 계산
        float angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;


        //Quaternion rotation = Quaternion.AngleAxis(angle, Vector3.forward);
        //transform.rotation = rotation;
        transform.rotation = Quaternion.Euler(0f, 0f, angle);

        angleText.GetComponent<Text>().text =
                          transform.rotation.eulerAngles.z.ToString("F2");

        transform.position = 
                          Vector3.MoveTowards(
                                                 transform.position,
                                                 target.transform.position, 
                                                 0.01f
                                             );      
    }
}

 

 

비행선에 Roate(Script) 컴포넌트가 추가되고, TargetAngleText를 연결해 주세요

TargetSquare를 연결합니다.

AngleTextCanvas > AngleText를 연결합니다.