์ฐ์ ๋ฌธ์ ๋ ์ ๊ธ์์์ ๊ฐ์๋ฐ ๋ค์ ํ๋ฒ ๋งํ๋ฉด ์ฝ์ธ์ ๋ค์ด๊ฐ ์คํฌ๋ฆฝํธ๊ฐ
using UnityEngine;
using System.Collections;
public class CoinPickup : MonoBehaviour
{
ย ย ย
ย ย void OnTriggerEnter2D(Collider2D collider)
ย ย {
ย ย ย ย if (collider.tag == "Player")
ย ย ย ย {
ย ย ย ย ย ย
ย ย ย ย ย ย Destroy(this.gameObject);
ย ย ย ย }
ย ย }
}
์ด๊ฑฐ์ผ ๊ทธ๋์ ์ฝ์ธ์ ์ ์ดํ ๊ฒ์ด ํ๋ ์ด์ด์ด๋ฉด ํ๊ทธ๋ฅผ ๊ฒ์ฌํด์ ์ฝ์ธ์ ์ญ์ ์ํค๋๊ฑฐ์ง ๊ทธ๋ฐ๋ฐ ์ด๊ฑด ์ ์๋ํด
๊ทธ๋ฐ๋ฐ ์ด ์ฝ๋์ ๊ฐ๊ฒ ์ฌ์ฉํด์ ๋๋๊ณค์๋
using UnityEngine;
using System.Collections;
public class ContactDamage : MonoBehaviour
{
ย
ย ย void OnTriggerEnter2D(Collider2D collider)
ย ย {
ย ย ย ย ย ย ย
ย ย ย ย ย ย collider.transform.position = new Vector2(0.0f, 0.0f);
ย ย ย ย ย
ย ย }
}
๋๋๊ณค ์ธ์คํํฐ(์๋๋ฏธ ์ฌ๋ผ์์ ๊ทธ๋ฅ ์ด๋ํ๊ฒ ํ๋ ์คํฌ๋ฆฝํธ, ๋ฐ๋ฏธ์ง ์คํฌ๋ฆฝํธ๊ฐ ๋ฌธ์ ์ ์คํฌ๋ฆฝํธ)
์ด๊ฒ์ ํ๋ ์ด์ด ์ธ์คํํฐ
ํน์ ํผ์ง์ค2d ์ค์ ์์ ๊ดํต๋๊ฒ ํด์ ๊ทธ๋ฐ๊ฑฐ ์๋๋๊ณ ํด์
๊ดํต๋๊ฒ ํ๋ ค๊ณ ์ด ์ธ๊ฐ๋ง ์ฒดํฌ ํด์ ํ๊ณ , ๊ดํต ์๋๊ฒ ํด์ ํด๋ณด๋ ค๊ณ ๋ค์ ๋ค ์ฒดํฌํ๊ณ ํด๋ดค๋๋ ๋๋๊ณค ๋ฆฌ์ง๋ ๋ฐ๋์ ํ๋ ์ด์ด์ ๋ฆฌ์ง๋ ๋ฐ๋ ๋๋ฉ ์์ผ๋กย
์๋์ผ๋ก ์ด๋ํ๋ ๋๋๊ณค์ ์ํด ํ๋ ์ด์ด๊ฐ ๋ฐ๋ ค๋จ. ์ด ์ญ์ ์ถฉ๋ ์ธ์ ์๋จ..
is trigger ์ฒดํฌ ์ํด์ ์๋๋๊ฑฐ์
trigger ๋ค์ด๊ฐ ๋ฉ์๋ ์๋ํ ๋ผ๋ฉด istrigger ์ฒดํฌ๋ฅผ ํด์ค์ผํจ ์๋ง ์ฝ์ธ์ด๋ ๊น๋ฐ์๋ ๋์ด์๊ฒ ์ง ์ฒดํฌ๊ฐ.. ๊ทผ๋ฐ ๋๋๊ณค์ ์๋์ด์์ผ๋๊น ๋๋๊ณค์ ๋ค์ด๊ฐ ontriggerenter๊ฐ ์๋์ ์ํ๊ฑฐ
๋ฟ๊ธฐ๋ง ํ๋ฉด ์ด๋ํ๋๊ฑฐ๊ณ is trigger ๊ผญ ์จ์ผํ๋ฉด physic2d์ค์ ? ์ ๊ฑฐ์์ ์ถฉ๋๋๊ฒํ๋ค์(๋ฐ๋ ค๋๋ค ๊ทธ๋ซ์ผ๋ ์ถฉ๋์ ๋๊ฒ ์ง) ontrigger๋์ oncolission์ผ๋ก ์ฐ๋ฉด ์ด ๋ฌธ์ ๋ ํด๊ฒฐ๋๊ธด ํ ํ ๋ฐ.. ์ฐ๊ฒฉ๋ค์ง์ผ๋ก ํ๋๊ฒ ์ซ์ผ๋ฉด ์๊ฐ์ ์ข ๋ง์ด ํด๋ด์ผ๊ฒ๋ค
์ ์ ๊ธฐ์ ๋น ์ ธ์๋ค.. ์ ์ฅํ๊ธฐ ์ ๊ป ์ฌ๋ผ๊ฐ๋๋ณด๋ค is trigger ์ฒดํฌํ๋ฉด ํต๊ณผ๋์ ๋ฐ๋ฅ ๋ฐ์ผ๋ก ๋ซ๊ณ ์ง๋๊ฐ๋๊ฐ ์ฌ์ดํด ์ฝ๋ผ์ด๋๋ is trigger ์ฒดํฌ ์ํด์ ๋ฐ๋ฅ์ ๋ถ์ด์๊ฒํ๊ณ ๋ ๋ฐ์ค ์ฝ๋ผ์ด๋ ๋ฐ๋ก ์ฌ์ดํด๋ณด๋ค ํฌ๊ฒํด์ ๊ทธ๊ฑฐ๋ is trigger ์ฒดํฌํ์.. ๊ทธ๋ฐ๋ฐ ๋ค๋ฅธ๊ฑด ๋ค ์ด๋๋๋๋ฐ ์บ๋ฆญํฐ๋ง ์๋๋๊ฑด ๋๊ฐ์..
์ ํ ๊ณ ๋๋ก ํ๊ณ ๋๋ ค๋ดค๋๋ฐ ์ ์ ์์๋ํ๋๊ฑฐ๋ณด๋ฉด ๋ณธ๋ฌธ์ ์ฌ๋ฆฐ๊ฑฐ์ค์๋ ๋ฌธ์ ๊ฐ ์๋๊ฒ๊ฐ๋ค์ผ..
์ ๋ํฐ๋ ์ ๋ ใฑ ์ฒดํฌํด์ ์ถฉ๋ํ ์ง ๊ดํตํ ์ง ์ ํด์ค์๋์์? ์กด๋ ์งฑ์ด๋ค
์ ์์์ ๋์ด ์ ๊ฑฐ ๋งคํธ๋ฆญ์ค ์ฒดํฌํด๋์ ์๋๋๊ฑฐ๋ค์ฌ
๊ฑ ์ฉ๊ฐ๋ฆฌ์ rigidbody๋ฅผ ๋นผ์ฌ ๋งคํธ๋ฆญ์ค ์ฒดํฌ๋ฅผ ๋๊ณ
์ด๊ฒ์ ๊ฒ ๋ง์ ธ๋ณด๋๊น ํผ์ง์ค2d์์ ๋ ์ด์ด ๋ง์คํฌ ๋๋ฉด ๊ทธ๊ฑด trigger๋ ๋์์ ์ํ๋ค์
ใ ใ // ๋งคํธ๋ฆญ์ค ์ฒดํฌ ํด์ ํด์๊ฐ์๋๋ผ? ์ฒดํฌํด์ ์๋๊ฑฐ๋ผ๊ณ ? ๊ทธ๋ฆฌ๊ณ ๋ฆฌ์ง๋๋ฐ๋ ๋นผ๋ฉด ์ด๋ํ๋ ์คํฌ๋ฆฝํธ๊ฐ.. ๊ทธ๋ฆฌ๊ณ ๋งคํธ๋ฆญ์ค์ ๋ ์ด์ด ๋ง์คํฌ๊ฐ ์ด๋จ์? ์ ๊ธฐ ์๋๊ฑฐ ๋ค์ฒดํฌํด๋ ์๋๋๋ฐ.. ๊ทธ๋ผ ํ๋ ์ด์ด ์ฝ๋๋ ๋ญ๊ฐ ์ด์์ด์๋?
์ฒดํฌํด์ ํด์์๋๊ฑฐ... ํผ๋์ค๋ฌ์ฐ๋ ์ ๋ฆฌํ๋ฉด ํผ์ง์ค 2d์์ ๋ ์ด์ด ์ฝ๋ฆฌ์ ผ ๋งคํธ๋ฆญ์ค๋ฅผ ์ ๋ถ ์ฒดํฌ๋์ฑ๋ก ๋ ๋๊ณ , ๋ฆฌ์ง๋๋ฐ๋๋ฅผ ๋นผ๊ณ ์ฉ๊ฐ๋ฆฌ์ด๋์ ์ ๋ํฌ์ค๋ง๊ณ ํธ๋์ค๋ ์ดํธ๋ก ์ด๋์ํค๋ฉด ๋ ๋ฏ
์ด๊ฒ์ซ์ผ๋ฉด ๋ ์ด์ด ์ฝ๋ฆฌ์ ผ ๋งคํธ๋ฆญ์ค๋ฅผ ๋ค ์ฒดํฌํ์ฑ๋ก ๋ ๋๊ณ ๋ฆฌ์ง๋๋ฐ๋๋ ๋ ๋๊ณ ontriggerenter๋ง๊ณ oncollisionenter ์ฐ๋ฉด ํ๋ ์ด์ด๊ฐ ๋ฐ๋ ค๋๊ธฐ์ ์ ์๊ฐ์ด๋ํ ๋ฏ?
๊ทธ๋ฐ๋ฐ ํ๋ ์ด์ด๊ฐ ๋ฐ๋ฏธ์ง ์ ๋๊ฑฐ๊ฑฐ ํ ์คํธํ๋ ค๊ณ ์ด๋์ํค๋๊ฑด๋ฐ ๋ณดํต ํ๋ ์ด์ด๋ ์ ์ด๋ ๋ถ๋ชํ๋ฉด ์ ์๋์ ๋ฌด์ ์๊ฐ ๋๋ฉด์ ์ ์ด ๊ดํตํ์์ ๊ทธ๊ฑฐ ๊ตฌํ ํ๋ คํ๋๊ฑฐ๋ผ ๋ด๊ฐ ๋งคํธ๋ฆญ์ค์์ ์ฒดํฌํด์ ๋ฅผ ์๋ชป
ํ๊ฑฐ๊ฐ์๋ฐ ์ง๊ฐ๋ฉด ํ๋ฒ ์ฒดํฌ ํ๋์ฉ๋ง ํด์ ํด๋ณด๋ฉด์ ํด๋ณด๋์ง ํด๋ด์ผ๊ฒ ๋ค ์ฉ..
์์ ์ปฌ๋ผ์ด๋๋ฅผ ์ค๋ธ์ ํธ์ ์๋ถ์ด๊ณ ์์ ์ค๋ธ์ ํธ ๋ง๋ค์ด์ ๊ฑฐ๋ฐ๋ถ์ด๊ณ ๊ฑ๋ง ๋ค๋ฅธ ๋ ์ด์ด ์ฐ๋ ๋ฐฉ์์ผ๋ก ํด๋๋ ๋ฏ... ๋ฐฉ๋ฒ์ ๋ง์ผ๋๊น... ์๋๊ธธ๋น์ด์ผ
๋ค๋ฅธ๋ ์ด์ด๋ฅผ ์ด๋ค๋๊ฒ ๋ฌด์จ๋ป? ๋๋๊ณค ์์์ผ๋ก ์ฝ๋ผ์ด๋๋ฃ๊ณ ์์๋ง ๋งคํธ๋ฆญ์ค ๊ฑด๋๋ ค๋ณด๋ผ๋๊ฑฐ?
ใ ใ ์์์ผ๋ก ์ฝ๋ผ์ด๋ ๋ฃ๊ณ ์์ํํ ๋ enemy๋ง๊ณ ๋ค๋ฅธ ๋ ์ด์ด ์ฃผ๋ฉด ์ง๊ธ์ฒ๋ผ ํด๋ ์์๋ player๋ ์ถฉ๋ํ ์ ์๊ฒ ์ง.. ๋์ ์คํฌ๋ฆฝํธ๋ฅผ ์ข ๋ฐ๊ฟ์ผ๊ฒ ์ง
ใด์ํ ์๋ค ์ง์๊ฐ์ ํด๋ด์ผ๊ฒ ๋ค