게임 오브젝트와 게임 오브젝트 사이의 거리를 구합니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ArrowController : MonoBehaviour
{
GameObject player;
void Start()
{
this.player = GameObject.Find("player");
}
void Update()
{
transform.Translate(0, -0.1f, 0);
if (transform.position.y < -5.0f)
{
Destroy(gameObject);
}
// 충돌 판정 (추가)
Vector2 p1 = transform.position; // 화살의 중심 좌표
Vector2 p2 = this.player.transform.position; // 플레이어의 중심 좌표
Vector2 dir = p1 - p2;
float d = dir.magnitude;
float r1 = 0.5f; // 화살의 반경
float r2 = 1.0f; // 플레이어의 반경
if (d < r1 + r2)
{
// 충돌한 경우는 화살을 지운다
Destroy(gameObject);
}
}
}
'유니티' 카테고리의 다른 글
[유니티 2D] 칼 정해진 각도로 회전하기 (0) | 2024.03.10 |
---|---|
[유니티 2D] 기어 회전하기 (0) | 2024.03.10 |
[유니티 2D] 플레이어 따라오기 (0) | 2024.03.10 |
[유니티 2D] 미로 - 생명 (0) | 2024.03.10 |
[유니티 2D] 미로 - Bullet(총알) 만들기 (0) | 2024.03.10 |