void Update () {
ย ย ย ย //์ฒด๋ ฅ์ด 0๋ณด๋ค ๊ฐ๊ฑฐ๋ ์ ๋ค๋ฉด ์ดํํธ ๋ฟ๋ฆฌ๊ณ ๊ฒ์ ์ฌ์์
ย ย ย ย if (health <= 0)
ย ย ย ย {
ย ย ย ย ย ย if (death == false)
ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย Instantiate(effect, transform.position, Quaternion.identity);
ย ย ย ย ย ย ย ย rb.isKinematic = true;
ย ย ย ย ย ย ย ย death = true;
ย ย ย ย ย ย ย ย Invoke("RestartGame", 2f);
ย ย ย ย ย ย ย ย //์ฃฝ์ผ๋ฉด ์บ๋ฆญํฐ ์ ์ด๋ฅผ ๋ฉ์ถ๊ณ (freeze x,y?) ์ฌ๋ง ์ ๋๋ฉ์ด์ ์ ๋ณด์ฌ์ฃผ๊ณ ๊ฒ์ ์ค๋ฒ ๋ฉ๋ด๋ฅผ ๋ณด์ฌ์ค๋ค.
ย ย ย ย ย ย }
ย ย ย ย }
ย ย }
ย ย void RestartGame()
ย ย {
ย ย ย ย SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
ย ย }
์ฌ๊ธฐ์ ์ rb.isKinematic = true; ํ๋ฉด ๊ทธ๋๋ถํฐ ์บ๋ฆญํฐ๋ ์คํฌ๋ฆฝํธ๋ฅผ ํตํด์๋ง ์์ง์ผ ์ ์๋๊ฑฐ ์๋๊ฐ์ฌ? ๊ณ์ ์์ง์ด๋๋
๊ทธ ์ ์๋ rb.constraints = RigidbodyConstraints2D.FreezePosition;๋ ์จ๋ดค๋๋ฐ ์์ง์ด๋๋ผ๊ตฌ์
๋ฌด์์ด ๋ฌธ์ ์ธ๊ฑฐ์ฃ ;;
์ง๋ฌธ์ ๋ต๋ณ์ ์๋๋ฐ...Update() ์์ ์ฃฝ์๋ ์์ฃฝ์๋ ๊ฒ์ฌํ์ง ๋ง๊ตฌ heath ํ๋กํผํฐ์์ ๊ฒ์ฌํ๋ฉด '์ฌ๋' ๋ ์ข์.
ํ๋กํผํฐ ์ฌ์ฉ๋ฒ์ ๋ชฐ๋ผ์์...ใ ใ ใ ใ get, set ์ด๋ฐ๊ฑฐ ์ด๋ป๊ฒ ์ค์ ํ๋์ง;
Health ๊ฐ ๋ฌ๋ผ์ง '๋' ๋ง ๊ฒ์ฌํ๋ฉด ๋์ง, ๋ฌ๋ผ์ก๋๊ณ ๊ณ์ ๋ฌผ์ด๋ณผ ํ์๊ฐ ์๋๊ฑฐ์ผ...
ํด๋น ๋ณ์ ์ ์ธ๋ถ์๋ค๊ฐ ํจ์์ฒ๋ผ ์ค๊ดํธ ์ฐ๊ณ get{} set{} ์ฐ๋ฉด ๋ผ...์ด๋ด๋ ์ป์ด์ค๋๊ฒ ์๋๋๊น set{} ์ค๊ดํธ ๋ด๋ถ์ ์์ ๊ฒ์ฌ๋ฌธ์ ๋ฃ์ด์ฃผ๋ฉด ๋๊ฒ ์ง.
Health
์๋ฐ ๋ญ์ผ ์ฌ๊ธฐ์ ์ฝ๋ฉ์ด ์๋๋ค.
Health{set{ if (health <= 0) { if (death == false) { Instantiate(effect, transform.position, Quaternion.identity); rb.isKinematic = true; death = true; Invoke("RestartGame", 2f); //์ฃฝ์ผ๋ฉด ์บ๋ฆญํฐ ์ ์ด๋ฅผ ๋ฉ์ถ๊ณ (freeze x,y?) ์ฌ๋ง ์ ๋๋ฉ์ด์ ์ ๋ณด์ฌ์ฃผ๊ณ ๊ฒ์ ์ค๋ฒ ๋ฉ๋ด๋ฅผ ๋ณด์ฌ์ค๋ค. } }}} ํ๋ฉด ๋ผ... ๊ทธ๋ฆฌ๊ณ
์ข์. ๊ทธ๋ฆฌ๊ณ ํค๋ค๋งํฑํ์๋ ๋์ด์ ๋ฌผ๋ฆฌ์์ง ์ฒ๋ฆฌ๋ฅผ ์๋ฐ๋๊ฑด๋ฐ, ์ด๋ฏธ ์์ง์ด๊ณ ์์ผ๋ฉด ๋ฉ์ถ๋ ๋ฌผ๋ฆฌ ์ฒ๋ฆฌ๊ฐ ์ ๊ทผ์ด ๋ถ๊ฐํ๊ธฐ๋๋ฌธ์ ๊ณ์ ์์ง์ผ๊ฑฐ์ผ. ๋ฒจ๋ก์ํฐ๋ฅผ ํตํด ๋ฉ์ถฐ์ค.
์์๋ ๋ชฐ๋ผ๋๋ ๋๋ ๋ฒจ๋ก์ํใด ๊ฐ๋งํ ์์๋๊ฐ ํค๋ค๋งํฑ ํธ๋ฃจ ํด๋ณธ๊ฑฐ์ง? ์์ง์ด๋๊ฑธ ํค๋ค๋งํฑ ใ ๋ฉด ์ค๋ ฅ์ด๋ ๋ง์ฐฐ๋ ฅ์ด๋ ์ฃ๋ค ๋ฌด์ํ๊ณ ๊ทธ๋ฅ ๋ฒจ๋ก์ํฐ๋ง ๊ฐ์ง๊ณ ๋ ์๊ฐ๋ฒ๋ฆฐ๋ค๊ณ . ๊ทธ๋ฌ๋๊น ๋ฒจ๋ก์ํฐ 0,0,0 ํด์ ๋ฉ์ถฐ์ผ ๋๋ค๊ณ . ๋ฒจ๋ก์ํฐ๋ ์์คํ๋ค๊ณ .
๊ทธ๋ฆฌ๊ณ ํ๋ฆฌ์ฆ๋ ์ดํ ๋ฆฌ์ง๋๋ฐ๋์ ์ ๊ทผํ ๋ฌผ๋ฆฌ์ฒ๋ฆฌ๋ฅผ ๋ฌด์ํ๋๊ฑฐ์ง, ๋ฒจ๋ก์ํฐ๋ฅผ ๊ฐ์ง ํด๋น ์ค๋ธ์ ํธ๋ฅผ ๋ฉ์ถ๋ ๋ฐ ์ฐ๋ ๊ฒ ์๋์ผ. ใ ใ ใ กใ
๋ฒจ๋ก์ํฐ๋ rb.velocity ์ผ. ๋๋ฌด ๊ฐ๋จํ์ง?
์ํ ์กฐ์์ ๋ฉ์ถฐ์คฌ์ผ๋๊น ์๋๋ velocity๋ก 0์ผ๋ก ๋ง๋ค์ด์ค์ผ ์บ๋ฆญํฐ๊ฐ ๋ฉ์ถ๋๊ฑฐ๊ตฐ์! ๊ฐ์ฌํฉ๋๋ค ํ๋ ๋๋ฌด ์น์ ํ๊ฒ ๋ต๋ณ ๋ฌ์์ฃผ์ ์ ใ ใ ใ ใ ํ๋ ๊ทผ๋ฐ get{}์์๋ ๋ญ ์ ์ด์ผ๋๋์ฌ ๊ณ์ ๋นจ๊ฐ์ค์ด ๋จ๋๋
์ ํด๊ฒฐํ์ต๋๋ค ํ๋ ๊ฐ์ฌํฉ๋๋ค ์ ๋ง๋ก
๊ทธ๊ฑด ๊ฒ ํ ์ผ์ด ์์ผ๋ฉด ์์จ๋ ๋ผ... ๊ฒ ์๋ ๋ณดํต ์ฌ๊ธฐ ์ฝ๋๋ก ์๋ฅผ ๋ค๋ฉด return health; ๋ฅผ ์จ.
์ ํ๋ ์ฃ์กํฉ๋๋ค ํด๊ฒฐ์ด ์๋์ต๋๋ค....;;;;;; ์ health๊ฐ ์๊น์ด๋๊ฑฐ์ง;
๋ณด๋๊น ์ฒด๋ ฅ์ ๊น์ด๋๋ฐ ํ๋กํผํฐ๊ฐ ์๋์ ์ํ๋๋ด ๋๋ค ํ๋... ์ข ๋ ๊ณ ๋ฏผํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค! ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค ํ๋
๋ง๊ฒ ์ผ๋ค๋ฉด ์๋์ ์ํ ๋ฆฌ๊ฐ ์์ด์. ์จ์ต์ ๊ทธ๋ ๊ฒใ กํ์ ํ์ง ์์ต๋๋ค. ์ฒด๋ ฅ์ด 0์ดํ๋ก ๋ด๋ ค๊ฐ๋์ง ์ฒดํฌํด๋ด์. death๊ฐ false ์ธ์ง๋.
์ฌํํธ+์ํฐ ๋๋ฅด๋ฉด ๋ค์ ์ค ๊ฐ๋ฅํฉ๋๋ค ใ - dc App
์ ๊ฐ ์ฒด๋ ฅ์ 3์ผ๋ก ์ค์ ํด๋์ ์ ์ด๋ 3๋ฒ ๋ถ๋ซํ๋ฉด ์ฒด๋ ฅ์ด 0์ดํ๋ก ๋ด๋ ค๊ฐ๊ณ , death๋ true๋ก ์ ๋๋ก ์ฒดํฌ๋๋๋ฐ, rigidbody2d ๊ด๋ จ๋๊ฑด ์๋ฌด๊ฒ๋ ์ ์ฉ์ด ์๋ฉ๋๋ค์... ํน์ FixedUpdate์๋ค๊ฐ ์บ๋ฆญํฐ ์ด๋์ ๊ตฌํํด๋จ๋๋ฐ, ๊ทธ๊ฒ ๋ฌธ์ ๊ฐ ๋ ์ ์๋์?