๋นํ ์ํ ๊ฒ์ ๋ง๋ ๋ค๊ณ ์ง๋ฌธ ์ฌ๋ฆฌ๋ ๋์ธ๋ฐ
์ ์ ๋ฉ์ฉกํ๋ ๊ธฐ๋ฅ์ด ๊ฐ์๊ธฐ ์ค๋ฅ๋จ๋ฉด์ ์๋์ ๋ฏธ์น๊ฒ ์;;
ํ๋ ์ด์ด๊ฐ ์ฃฝ์ผ๋ฉด ์ฌ์์ ๋ฒํผ์ด ๋์ค๊ณ ๋๋ฅด๋ฉด ๋ค์ ์ฒจ๋ถํฐ ์์ํ๋๊ฑด๋ฐ
๊ฐ์๊ธฐ ์ค๋ ํ์ธํ๋๋ฐ ์ค๋ฅ๋จ๋ฉด์ ํ๋ ์ด์ด๋ ๋ชฌ์คํฐ๊ฐ ๋ฆฌ์คํฐ์ด ์๋จ
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.GameObject.GetComponent[T] () (at C:/buildslave/unity/build/Runtime/Export/Scripting/GameObject.bindings.cs:28)
GameManager.StartGame () (at Assets/Scripts/GameManager.cs:35)
GameManager.RetryGame () (at Assets/Scripts/GameManager.cs:5
๋ผ๊ณ ์ค๋ฅ ๋จ๋๋ฐ ๋ด๊ฐ ํด์ํด๋ณด๋ฉด ๊ฒ์์ด ์ข ๋ฃ๋์ย ํ๋ ์ด์ด๋,๋ชฌ์คํฐ ๊ฐ์ฒด๊ฐ ์ฌ๋ผ์ก๋๋ฐ
๊ฒ์์ฌ์์ํ๋ ค๊ณ ๋ค์ ์ ๊ทผ์ ํ๋๋ฐ ๊ฐ์ฒด์ ๊ฐ์ด ์๋ค๋๊ฑฐ ๊ฐ์๋ฐ..ใทใท
์ฝ๋๋ ์๋ ๋ง์์ ์ ๋ถ๋ค ์ฌ๋ฆด ์๋ ์๊ณ ใทใทใท;;
์ค๋ฅ๋ฌ๋ ์ฝ๋๋
ย ย void StartGame()
ย ย {
ย ย ย ย player.GetComponent().canShoot = true; // ์ด๋ถ๋ถ์
ย ย ย ย SpawnManager.instance.isSpawn = true;
ย ย }
๋นข๋๊ฐ์ด๋ผ ๋๋ค๊ฐ ๊ฐ์๊ธฐ ์๋๋๊น ๋นํฉ์ค๋ฝ๊ณ ์ด๋ป๊ฒ ํด์ผ๋ ์ง ๋ชจ๋ฅด๊ฒ ๋ค..
์ด๋ด๋ ์ด๋ป๊ฒ ์ ๊ทผํด์ผ๋๋?
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
์ ์ฝ๋ ๋ณด๋๊น ํ๋ ์ด์ด ์ค๋ธ์ ํธ๋ฅผ ์ฃฝ์ผ๋ฉด ๋นํ์ฑํ ํ๋ค ์ฌ์์ํ๋ฉด ํ์ฑํ ์ํค๋๊ฑด๋ฐ ์ฃฝ์ผ๋๊น ์ค๋ธ์ ํธ๊ฐ ์ญ์ ๋์ ์ด๋ฌ๋๊ฑฐ ๊ฐ๋ค ใทใท ํํ ์์ด๋ฌ๋
player.GetComponent() ์ธ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค๋ ๊ฒ ๋ณด๋ ๋ค ํด์์ด ๋ง๊ตฌ ํ๋ ์ด์ด ์ค๋ธ์ ํธ๋ฅผ ์ฌ๋ผ์ง๊ฒ ๋ง๋๋ ์ฝ๋๋ฅผ ์์ ํด์ผํ ๊ฑฐ ๊ฐ์๋ฐ ํ๋ ์ด์ด ์บ๋ฆญํฐ๋ฅผ ์ง์ฐ์ง ์๊ณ ์ด๊ธฐํ๋ง ํ๋๊ฐ ์ง์ฐ๊ณ ์ฌ์์ฑ ํ ๋ค์์ ๋ ํผ๋ฐ์ค๋ฅผ ์๋ก ์์ฑํ ์ค๋ธ์ ํธ์ ๋งํฌ ์์ผ์ฃผ๋ฉด ํด๊ฒฐ๋๊ฑฐ ๊ฐ์
์ ์ฝ๋ ๋ณด๋๊น ํ๋ ์ด์ด ์ค๋ธ์ ํธ๋ฅผ ์ฃฝ์ผ๋ฉด ๋นํ์ฑํ ํ๋ค ์ฌ์์ํ๋ฉด ํ์ฑํ ์ํค๋๊ฑด๋ฐ ์ฃฝ์ผ๋๊น ์ค๋ธ์ ํธ๊ฐ ์ญ์ ๋์ ์ด๋ฌ๋๊ฑฐ ๊ฐ์๋ฐ ์ฝ๋๋ณด๋ฉด ๋ฌธ์ ์๋๊ฑฐ ๊ฐ์๋ฐ void InactivePlayer()//๊ฒ์์ ์ฌ์์ ํ๊ธฐ ์ํด์ Player๋ฅผ ์ญ์ ์ํ๊ณ ๋นํ์ฑํ ํ๋ค { gameObject.SetActive(false); canShoot = false; transform.position = playerPos;//Player๊ฐ ์ด๊ธฐํ ์ง์ ์ ์ฌ ์ ์๋๋ก ํ๋ค }
ํ๋ ์ด์ด์ ๋ํ gameObject.SetActive(true)๋ ์ ๋๋ก ํด์ค๊ฑฐ ๋ง์?
๋๋ฒ๊ทธ๋ชจ๋ ํ์ฑํ ํด์ ์ฌ์์ ํ ๋ player๊ฐ ์๋์ง ์๋์ง, ์๋ค๋ฉด ํ์ฑ์ธ์ง ์๋์ง ์ฒดํฌํ๋๋ก ๋ก๊ทธ๋ฅผ ์ฐ์ด๋ด
๋๋ฒ๊ทธ ํด๋ณด๋๊น ์ค๋ธ์ ํธ ํ์ฑํ ๋นํ์ฑํ ๋ถ๋ถ์ธ ์ ๋๋ก ์๋ํ๋๋ฐ ์ค๋ฅ๋๋ ๋ถ๋ถ์์ ๋ฑ ๊ทธ๋ฌ๋ค ใทใท
๊ทธ๋ฅ player๋ผ๋ ๊ฒ์ค๋ธ์ ํธ๋ฅผ ๋ชป์ฐพ๋๋ฏ. ํน์ ๋นํ์ฑํ๋์์ผ๋ฉด ์์ฐพ์์ง
์?? ๋ค์ ํ์ฑํ ์ํค๋ ์ฝ๋๊ฐ ์์ด๋?
๋ค์ ํ์ฑํ ํด๋ ํ์ฑํ ๋ ๊ฒ์์ค๋ธ์ ํธ๊ฐ player์ด ์๋์๋ ์์ ๊ทธ๋ถ๋ถ ํ์ธํด๋ด
ํ๋ ์ด์ด ์ฝ๋์ ๋นํ์ฑํ ํ๋ ์ฝ๋๋ void InactivePlayer() {gameObject.SetActive(false); canShoot = false; transform.position = playerPos;} ๊ฒ์ ๋งค๋์ ์ ํ์ฑํ ํ๋์ฝ๋ ์๊ฑฐ๋ ? void RetryGame(){ StartGame(); player.SetActive(true);} ์ ๋๋ก ๋ง๋๊ฑฐ ๊ฐ์๋ฐ..ใทใท
์์์ ์ธ ๋ฐฉ๋ฒ์ผ์ง ๋ชจ๋ฅด๋๋ฐ ๋ ํ๋ ์ด์ด ์ฃฝ์ผ๋ฉด ๋นํ์ฑํ ์ํค๋ ๋์ ์ ํฌ๋ช ์คํ๋ผ์ดํธ๋ก ๋ฐ๊ฟ์ ํ๋ฉด์ ๋ณด์ด์ง์๊ฒ ๋ง๋ฌ, ์ฌ์์ํ๋ฉด ๋ค์ ์ด๊ธฐํ ์ํค๊ณ ..