์๋ ๋งํ๋ฉด ์ต๋ํ ์ธํฐ๋ท์ ์ฐพ์๋ณด๋ ค ํ๋๋ฐ ์ด๊ฑด ์ฐพ์๋ด๋ ์ ์ดํด๊ฐ ์๊ฐ์ ์ฌ๊ธฐ๋ค ๋ฌผ์ด๋ด.
์ง๊ธ ๋ง๋๋ ๊ฒ์์ ๋์ถฉ ํญํ ๋์ ธ์ ์งํ ํ๊ดดํ๊ณ ์๋ ๋จ์ดํธ๋ฆฌ๋ ๊ฒ์์. ์ฌ๊ธฐ์ ํ๋ฆฌํน ์ฌ์ฉํด์ ํญํ์ ์คํ์ด์ค ๋๋ฅผ ๋๋ง๋ค ๋์ง๊ฒ ํ๊ฑฐ๋ ? ๊ทผ๋ฐ ์ฒซ๋ฒ์งธ ํญํ์ ์ ๋์ ธ์ง๊ณ ์ ํฐ์ง๋๋ฐ ๋๋ฒ์งธ๋ถํฐ ์ค๋ฅ ๋จ๋ฉด์ ์์ ํ๋ฆฌํน ์์ฒด๊ฐ ์์ฑ์ด ์๋จ.
MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
UnityEngine.Object.Instantiate (UnityEngine.Object original, UnityEngine.Transform parent, System.Boolean instantiateInWorldSpace) (at <4a31731933e0419ca5a995305014ad37>:0)
UnityEngine.Object.Instantiate[T] (T original, UnityEngine.Transform parent, System.Boolean worldPositionStays) (at <4a31731933e0419ca5a995305014ad37>:0)
UnityEngine.Object.Instantiate[T] (T original, UnityEngine.Transform parent) (at <4a31731933e0419ca5a995305014ad37>:0)
Arm.Update () (at Assets/Scripts/Arm.cs:48)
ํญํ์ ํ์์ ๋๊ฐ๋ ํ์์
Script [Arm]ย Update() ์์ ๋ฃ์ ์ฝ๋ ์ผ๋ถ
if (Input.GetKeyDown(KeyCode.Space))
ย ย ย ย {
ย ย ย ย ย ย Instantiate(Bomb, BombPos);
ย ย ย ย }
Bomb์ด๋ BombPos ๋ชจ๋ ํผ๋ธ๋ฆญ ์ ์ธ ํ๋ค์์ ์ ๋ฃ์ด์ค.
Script [Bomb]
private void OnCollisionEnter2D(Collision2D collision)
ย ย {
ย ย ย ย if(collision.gameObject.tag == "Platform")
ย ย ย ย {
ย ย ย ย ย ย StartCoroutine("Explosion");
ย ย ย ย ย ย StartCoroutine("BombColour");
ย ย ย ย }
ย ย }
IEnumerator Explosion()
ย ย {
ย ย ย ย // ๋ช์ด ๊ธฐ๋ค๋ ธ๋ค ์คํ
ย ย ย ย yield return new WaitForSeconds(3);
ย ย ย ย // ์ฝ๋ผ์ด๋ ํฐ๊ฑฐ ํ์ฑํ
ย ย ย ย BigCollider.enabled = true;
ย ย ย ย // ํญ๋ฐ ์ ๋๋ฉ์ด์ ์ถ๊ฐ
ย ย ย ย animator.SetBool("IsCrashing", true);
ย ย ย ย // ์ฝ๋ผ์ด๋์ ๋ฟ์ ํ์ผ๋งต ์ญ์
ย ย ย ย DestroyTile();
ย ย ย ย // ํญํ ์ญ์
ย ย ย ย Invoke("DestroyBomb", 0.6f);
ย ย }
void DestroyBomb()
ย ย {
ย ย ย ย Destroy(this.gameObject);
ย ย }
๋์ถฉ ์๋ค๊ฐ ํญํ ์์ฑํ๊ณ ํฐ์ง๋๊ฑฐ, ํฐ์ง๊ณ ๋์ ์ ๊ฑฐํ๋ ์ฝ๋์. ์ง์ง ํ๋ฃจ๋์ ๊ณ ์ณ๋ณผ๋ ค ๋ ธ๋ ฅํด๋ดค๋๋ฐ ๋ด๊ฐ ๊ฒฝํ์ด ๋ถ์กฑํด์ ๊ทธ๋ฐ๊ฐ ์ ๋ชปํ๊ฒ ์ด์ ์ฌ๊ธฐ๋ค ์ฌ๋ฆผ. ์ ๋ฐ ๋์์ฃผ์ธ์ ํ๋๋ค...
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
ํ๋ฆฌํน ํญํ๋ค๋ ํฐ์ง๊ณ ๋์ Destroyํจ์ ๋๋ฌธ์ ์์ด์ง๊ธด ํ๋๋ฐ ํญํ ์์ฑ์ Arm ์คํฌ๋ฆฝํธ์์ ํ๋๊น ์๊ด์๋๊ฑฐ ์๋?
๊ทธ๋ ๊ตฌ๋ง... ์ ํํ๋ ์ฒซ๋ฒ์งธ ํญํ์ด ํฐ์ง๊ธฐ ์ ๊น์ง๋ ๋ค๋ฅธ ํญํ๋ค๋ ์ ์์ฑ๋๋๋ฐ ํฐ์ง๊ณ Destroy ๋๊ณ ๋ ํ์๋ ์ค๋ฅ ๋จ๋ฉด์ ๋ ์ด์ ์์ฑ์ด ์๋๋๋ฐ ํ๋ฆฌํนํ๋ฅผ ๋ค์ ํด์ผํจ?
์น์ ํ ๋ต๋ณ ๋๋ฌด ๊ณ ๋ง์... ๊ทธ๋ฅ ๋ด๊ฐ ๊ฐ๋ ์ด ์ ์์กํ์์ด์ ํ์ด๋ผํค ์ฐฝ ํญํ์ Arm ์คํฌ๋ฆฝํธ์ ํ ๋นํ๊ฑฐ์์ ใ ใ ใ ใ ใ ใ ์๊ฐ ์ก์๋จน์ด์ ใ ใ
Bomb์ ํ๋ฆฌํน์ ํ ๋นํ๊ฒ ์๋๋ผ ์ฌ์ ์๋ Bomb ์ค๋ธ์ ํธ๋ฅผ ํ ๋นํ๊ฑด ์๋?
ํ๋ ๊ฐ์ฌํฉ๋๋ค. ์ ๊ฐ ์ง์ง ์ธ์ฌ ์ค์ง๊ฒ ๋ฐ๊ฒ ์ต๋๋ค. ์ด๋ณด์ฌ์ ํ๋ฆฌํน ๊ฐ๋ ์ ๋ํด ํท๊ฐ๋ ธ๋๋ด ใ ใ ํ์ด๋ผํค ์ฐฝ์ ํญํ์ Arm ์คํฌ๋ฆฝํธ์ ๋ฃ์ด์ ๊ทธ๋ฐ๊ฑฐ์์ ใณใณ