[Unity 2D] Camera View 내 적 감지
2020. 7. 26. 17:38ㆍ[Unity] 게임 개발
반응형
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraFunc : MonoBehaviour
{
Camera selectedCamera;
public bool CanWarp = false;
// Start is called before the first frame update
void Start()
{
selectedCamera = GameObject.Find("Main Camera").GetComponent<Camera>();
}
void Update()
{
CheckEnemy(GameObject.FindGameObjectWithTag("Enemy"));
}
public bool CheckEnemy(GameObject _Enemy)//카메라 뷰 안에 적이 있는지 없는지
{
if (GameObject.FindGameObjectWithTag("Enemy") != null)
{
Vector3 screenPoint = selectedCamera.WorldToViewportPoint(_Enemy.transform.position);
bool OnScreen = screenPoint.x > 0 && screenPoint.x < 1 && screenPoint.y > 0 && screenPoint.y < 1;
if (OnScreen == false)
{
CanWarp = true;
}
else
{
CanWarp = false;
}
return CanWarp;
}
else
{
return CanWarp = true;
}
}
}
현 카메라 뷰 의 x,y축 - (0,0) ~ (1,1) 안에 적이 존재하는지를 체크하는 코드
bool형 함수 CheckEnemy에서 체크 대상이 없으면 return 값이 Null 이 되기 때문에 Nullreperence 오류 발생
Tag - Enemy 가 있는지 없는지를 판별하여 Nullreperence 오류 예외처리.
반응형
'[Unity] 게임 개발' 카테고리의 다른 글
[Unity] iTween Move 함수 사용 (0) | 2020.08.13 |
---|---|
[Unity]Camera View 조절 (0) | 2020.08.10 |
[Unity 3D]랭킹 구현(MySQL, Photon Network) (0) | 2020.07.28 |
[Unity 2D] 피격시 카메라 흔들리기 (1) | 2020.07.26 |
[Unity 3D] 포스트 방식 디비 연동 (0) | 2020.07.22 |