์๋ ์ ๋ ๊ฒ ๋ฐํ์ ๋ฐ์ผ๋ฉด ๋ฐํ์ด ์ฌ๋ผ์ง๋ฉด์ ํ๋ ์ด์ด๊ฐ ์ ํํด์ผํ๊ฑฐ๋
๊ทผ๋ฐ 95%์ ์ผ์ด์ค์์๋ ์ ์์๋ํ๋ค๊ฐ ๊ฐ๋ ๊ฑ ์ ํ ์ํ๊ณ ๋ฐํ์ ์์ฐฉํด๋ฒ๋ฆผ..
๋ฐ์์ ์๋ก ์ ํํ ๋ ๋๊ฐ์ ๋ฐฉํฅ์ผ๋ก ์ ํํ๋ฉด์ ์์์ ์ ๋ค์ด๊ฐ๋ฉด ๊ฐ๋ ๊ทธ๋ ๊ฒ ๋๋๋ฐ..
๋๋์ฒด ๋ญ๊ฐ ๋ฌธ์ ์ผ๊น.....
๋ (๋ฐํ์ด๋ผ ์นญํ๊ฒ ์) ์ ๋ค์ด๊ฐ ์คํฌ๋ฆฝํธ
๋ ์ ๋ฐ์ผ๋ฉด ์ฌ๋ผ์ง๋ ํํ์
ย ย ย ย public static float JumpForce;
ย ย ย ย void Start()
ย ย ย ย {
ย ย ย ย JumpForce = 9.8f;
ย ย ย ย }
void OnCollisionEnter2D(Collision2D collision)
{
if (collision.relativeVelocity.y <= 0f)
{
Rigidbody2D rigidBody = collision.collider.GetComponent<Rigidbody2D>();
if (rigidBody != null)
{
Vector2 velocity = rigidBody.velocity;
velocity.y = JumpForce;
rigidBody.velocity = velocity;
Destroy(gameObject);
}
}
}
์๋๋ ๋ (๋ฐํ) ์ธ์คํํฐ
์๋๋ ํ๋ ์ด์ด ์ธ์คํํฐ
์๋๊ฐ ์์์ธ ์ํ๋ก CollisionEnter ํ๋ ๋ฐ๋์ ์ ํ ๋ธ ๊ธฐํ๋ฅผ ์์คํ๊ฑฐ ๊ฐ์๋ฐ
Stay๋ก ์ฎ๊ฒจ๋ณด๋๊ฒ?
if (collision.relativeVelocity.y <= 0f) ์ด ๋ถ๋ถ์ด ๋ฌธ์ ์ธ๊ฑธ๊น?
Enter๋ ์ถฉ๋ํ๋ ์๊ฐ์ ํ๋ฒ๋ง ๋ถ๋ฆฌ๋๋ฐ, ์๋๊ฐ ์์์ธ ์ํ๋ก ๋ค์ด์ค๋ฉด ์กฐ๊ฑด ์๋ง์ผ๋ ๊ฑ ๋์ด๊ฐ๊ณ ์ถฉ๋ ์ํ๋ก ์ ์ง๋๋ ์ํฉ์ผ๋ก ๋ณด์
์ค ๋ต๋ณ ์ ๋ง ๊ณ ๋ง์!! ํ๋ฒ ๋งํด์ค ๋ถ๋ถ ์ฐธ๊ณ ํด์ ์์ ํ ๋ค์์ ํ ์คํธํด๋ณด๋๋ก ํ ๊ฒ!!
์ ๋ํฐ ๋ฌผ๋ฆฌ์์ง์ด ์ด๋ ํ์ ์ ์๋ฆฌ ์์๋๊ฒฝ์ฐ์๋ velocity 0์ด ์๋๊ฒฝ์ฐ๊ฐ ์๊น ์ก์ค๋ก ์ ๋ช๋ฐฐ ์ ๋ ์ค์ฐจ๊ฐ ์๊ธฐ๋๋ฐ ์ด๊ฒ๋ ๊ณ ๋ คํด์ผ๋จ
ํ ๊ทธ๋?.. ์ํ ์ญ์ ๋๋ถ์ ๋ต๊ธ์์๋ ๋ง์ด ๋ฐฐ์ฐ๋ค. ๊ณ ๋ง์!!