๋๊ฐ๋ฅผ ๋ถ๋ชํ์๋ ํ๋๋ก ๋ง๋๋๋ฐฉ๋ฒ์ด ์ฌ๋ฌ๊ฐ ์์๊ฒ๊ฐ์๋ฐ ์ฌ์ด๋ฐฉ๋ฒ์ผ๋ก ์ฐพ์์ ์งฑ๊ตฌ๊ตด๋ ค๋ด.
๋๋ ์์ํ๋ธ๊ฐ ๋ถ๋ชํ๋ฉด ๊ฐํ๋ธ์ ๋ฌ๋ ค์๋ ํจ์๊ฐ ๋งค๋์ ธ์์ ์ฐธ๊ฑฐ์ง ๋์คํ๋๋ฅผ ๋ฐํ๋ฐ๊ณ
๊ฑฐ์ง์ ๊ทธ๋ฅ ์ฌ๋ผ์ง๊ฒ ๋ง๋ค๊ณ ์ฐธ์ผ๊ฒฝ์ฐ ๋จ์ ๋ช ๋ น์ด๋ฅผ ์ํํ๊ฒ๋ง๋ค์์ด.
๋งค๋์ ธ
public bool ์ฐธ๊ฑฐ์ง;
ย ย public bool ์ฐธ๊ฑฐ์ง๋ฐํ๊ธฐ()
ย ย {
ย ย ย ย if (!์ฐธ๊ฑฐ์ง)
ย ย ย ย {
ย ย ย ย ย ย ์ฐธ๊ฑฐ์ง = true;
ย ย ย ย ย ย return true;
ย ย ย ย }
ย ย ย ย ์ฐธ๊ฑฐ์ง = false;
ย ย ย ย return false;
ย ย }
๊ฐํ๋ธ
ย ย public void OnTriggerEnter(Collider col)
ย ย {
ย ย ย ย this.GetComponent<BoxCollider>().enabled = false; //์ปฌ๋ฆฌ๋๊บผ์ฃผ๊ธฐ ์๊บผ์ฃผ๋ฉด ๋์๊ธธ์์์ด์
ย ย ย ย ย
ย ย ย ย if (๋งค๋์ ธ.์ฐธ๊ฑฐ์ง๋ฐํ๊ธฐ())
ย ย ย ย {
ย ย ย ย ย ย //์ฐธ์ด๋ฉด ์ฌ๋ผ์ง๊ธฐ
ย ย ย ย ย ย Destroy(gameObject);
ย ย ย ย ย ย return;
ย ย ย ย }
ย ย ย ย //๊ฑฐ์ง์ด๋ฉดย
ย ย ย ย ํ๋ธ์์ฑ๋ฌธ;
ย ย ย ย Destroy(this.gameObject);
ย ย }
์ ๋ง ๊ฐ์ฌํฉ๋๋ค ๊ทธ๋ฐ๋ฐ if (๋งค๋์ ธ. ์ฐธ๊ฑฐ์ง ๋ฐํ๊ธฐ())๋ถ๋ถ์์ non-static ์ค๋ฅ๊ฐ ๋ฐ์ํ๋๋ฐ ์ด๋ป๊ฒ ํด๊ฒฐํ ๊น์ ใ ใ ๊ตฌ๊ธ๋ง 2์๊ฐ๋์ ํ๋๋ฐ๋ ํด๊ฒฐ์ด ์๋๋ค์
์์ง๋..
cs0120
๋งค๋์ ๋ฅผ public class Collidermanager: MonoBehaviour ์ด๋ ๊ฒ ํ๋๊ฒ ์๋๊ฑธ๊น์? ํด๋์ค๊ฐ ์ ์ ๋งด๋ฒ๋ผ ์ฌ๊ธฐ ์์ธ์คํ๋๊ฒ ์๋๋ค๊ณ ํ๋๊ฑฐ ๊ฐ์๋ฐ ์ด๋ป๊ฒ ํด๊ฒฐํ ๊น์ ใ ใ ใ
๋งค๋์ ธํจ์๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ๋ชจ๋ฅด๊ฒ ๋๋ฐ ๋งค๋์ ธ๋ฅผ ์์์ ๋ค์ด ์ฐธ์กฐ๋ฅผํด์ผ ์ ๊ทผ์ด ๊ฐ๋ฅํ์ง. ๊ทธ๋ด๋ ค๋ฉด ์์์ ๋ค์ด ์์ฑ๋ ๋ ๋งค๋์ ธ ์คํฌ๋ฆฝํธ๊ฐ ์ฐธ์กฐ๋์ด์๋๊ฐ ๋งค๋์ ธํจ์๋ฅผ static์ผ๋ก ๋ง๋ค๋๊ฐ ๋์ค๋ญ๊ฐ ํ๋ํด์ผํด.