반응형
내가 겪은 오류에서는, 찾으라는 값을 못 찾겠어서 Null로 반환시키고 오류 난 것이다. 코드를 보면,
public class GameManager : MonoBehaviour
{
public Player rp;
private void Awake()
{
rp = GetComponent<Player>();
}
void Update()
{
int health = rp.health;
}
}
오류
여기서 나는 외부에 있는 게임오브젝트에 들어있는 스크립트 Player에 있는 health를 끌어다 쓸려했다.
그러나 int health = rp.health에서 NullReferenceException이 나타났다.
즉 rp의 health를 못찾겠다고 ㅈㅈ친거다
해결
learnandcreate.tistory.com/120 이분의 블로그에서 해답을 찾았는데, 요약하자면
한 오브젝트에 a1,a2인두개의 스크립트를 넣고
a1에서 a2를 이용할려면
private a2 aa;
void Awake()
{
aa = GetComponent<a2>();
}
이렇게 해야하고
나처럼 게임오브젝트 안에 있는 스크립트를 사용할려면
public GameObject gameobject;
Player rp;
void Awake()
{
rp = gameobject.GetComponent<a2>();
}
이렇게 했어야 한다.
반응형