유니티

2D 화살 구현 (포물선 운동)

잼잼재미 2024. 3. 25. 01:57

 

 

구현 방법


1. 스크립트 작성


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

public class Arrow : MonoBehaviour
{
    public float _power;
    private Rigidbody2D _rigidbody;

    private void Awake()
    {
        _rigidbody = GetComponent<Rigidbody2D>();
    }

    private void Start()
    {
        _rigidbody.AddForce(transform.right * _power, ForceMode2D.Impulse);
    }

    private void Update()
    {
        transform.right = _rigidbody.velocity;
    }

    private void OnTriggerEnter2D(Collider2D collision)
    {
        if(collision.CompareTag("Enemy"))
        {
            Debug.Log("화살 적중!");
            gameObject.SetActive(false);
        }
        else if(collision.CompareTag("Ground"))
        {
            Debug.Log("땅 적중!");
            gameObject.SetActive(false);
        }
    }
}

 

* transform.rigth : 게임 오브젝트가 향하고 있는 방향의 오른쪽 벡터

 

 

2. 설정 방법


 

Rotation의 Z 값으로 원하는 방향 직접 설정

 

 

 

Collider와 Rigidbody를 추가

'유니티' 카테고리의 다른 글

Json 데이터 저장  (0) 2024.04.03
화면 깜빡이기  (0) 2024.03.27
SpawnSystem 구현  (1) 2024.03.21
충돌 무시 (LayerCollisionMatrix)  (0) 2024.03.21
Resources 폴더  (0) 2024.03.19