๊ฐ๋จํ ํ๊ฒ์ ๋ง๋ค์ด๋ณด๋์ค์ด๊ณ
์๋๋ Ball ์ ์คํฌ๋ฆฝํธ
80๋ ๋์ ๊ทธ๊ฒ์์ฒ๋ผ ๊ณต์ ๋๊ฐ์ ๋ฐฉํฅ์ผ๋ก ์์ง์ด๋ค๊ฐย ๋ฒฝ์๋ง๋๋ฉด Y๋ฐฉํฅ์ด ๋ฐ๋๊ณ ย ํ๋ ์ด์ด(ํ๋ฌ)์ ๋ง๋๋ฉด X๋ฐฉํฅ์ด ๋ฐ๋
์๋์ฒ๋ผ collision.gameObject<ํ๋ ์ด์ดor๋ฒฝ> ์ ๊ณ์ ์จ์ ๋ง๋๋์์ด ๋๊ตฌ์ธ์ง ํ๋ณํ๊ณ ย ๋ก์ง์ ์ ์ฉํ๋๋ฐ
์ด๊ฒ๋ณด๋ค ์ข์ ๋ฐฉ๋ฒ์ด ๋ถ๋ช ์์๊ฑฐ๋ผ๋ ์๊ฐ์ด ๋ฌ
๋ณต์กํ ๋์์ ๋ง๋์ผ๋๋ ๋์์ด 100๊ฐ๋ ๋์ด๊ฐํ ๋ฐ 100๊ฐ๋ฅผ ๋ค if๋๋ฆฌ๊ณ ์์ง๋ ์์๊ฒ๊ฐ์ผ..
{
PlayerPanCon tempPlayerPanCon = col.gameObject.GetComponent<PlayerPanCon>();
Wall tempWall = col.gameObject.GetComponent<Wall>();
if (tempPlayerPanCon != null) _direction = new Vector2(_direction.x * -1, _direction.y);
if( tempWall != null ) _direction = new Vector2(_direction.x , _direction.y * -1);
}
๋ณดํต์ tag๋ฅผ ์ฒดํฌํ์ง ๋ ๋ค ์ปดํฌ๋ํธ๋ถํฐ ๋ฐ์์ค์ง ์์ง
์ ๊ทธ๋ ๊ตฌ๋.. ๊ทผ๋ฐ ํ๊ทธ์ค์ ์ ์๋ฐ์ด ์์ด์ ์ผ๋ถ๋ฌ ์ด๋ ๊ฒํ๊ธด ํ๋๋ฐ ์คํ๋ ๊ทธ๋ ๊ณ
์คํ๊ฐ ๊ฑฑ์ ์ด๋ฉด ์ ์ญ๋ณ์์๋ค๊ฐ ํ๊ทธ ๋ฐ์๋๊ณ ๊ทธ ๋ณ์๊ฐ์ ธ๋ค๊ฐ ๋น๊ตํ๋ฉด ๋๋๊ฒ์ธ๋ฐ
์.. ์ ๋ํฐ์๋ํฐ์ ์ด ๊ธ์๋ฅผ IDE์ ์ฎ๊ฒจ์ ์ด์ผ? ๋๋๋ฐ ๊ทธ๋ ์ค๋ฅ๋๋ฉด ์ด๋ป๊ฒํ์ง ๋ญ ๊ทธ๋ฐ ๊ณผํ ๊ฑฑ์ ์ด์๋๊ฑฐ๊ฐ์ ์ฌ์ฉ์๊ฐ ์๋ํฐ์์ ์์ฑํ ์ ์ฒดํ๊ทธ๋ฅผ ์คํฌ๋ฆฝํธ์์ ๋ฐฐ์ด๋ก ๋ฐ๋ ๋ฐฉ๋ฒ๋ ์ด๋๊ฐ ์์๊ฒ๊ฐ๋ค
var entity = col.gameObject.GetComponent< IEntity >(); if (entity.Type == EntityTypes.Wall)
์.. Ientity ๋ผ๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ฐ ์ง์ ์ ์ํ๊ณ ์ธํฐํ์ด์ค์๋ ํ์ ์ด๋ผ๋ enum์ ๋๊ณ Wall์ด๋ Player์ด๋ ๊ทธ ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ์์ ์ฐ๋ผ๋ ๋ง์.. ์ด์ ์ง์ ์ง์๊ฐ๋ฉด ํ๋ฒ ํด๋ณด๊ฒ ์ต๋๋ค
๋ค ๋ง์์ ํจํด ๋งค์นญ ์ฐ๋ฉด Enum๋ ๋บ ์ ์์์
ํจํด๋งค์นญ์ ๊ฒ์ํด๋ณด๋ ์์ ์ฒจ๋ณด๋ ๋ฌธ๋ฒ์ธ๋ฐ ํจ ๊ณต๋ถํด ๋ด์ผ๊ฒ ๋ค์ ๊ณ ๋ง์ด๋๋ค
์ค ๋๋ ์ด๋ฐ ๋ฌธ๋ฒ ์๋์ง๋ ์ฒ์ ์์๋ค. ๋ฐฐ์ฐ๊ณ ๊ฐ๋น
https://www.csharpstudy.com/latest/CS7-pattern.aspx
๊ฐ๋ as ์บ์คํ ํ๊ณ null์ฒดํฌ ํ๋ ๊ฒฝ์ฐ์๋ ๊น๋ํด์ ์ข์์var foo = origin as Fooif (foo != null){ foo.Func();}์ด๊ฑฐ๋ฅผif (origin is Foo foo){ foo.Func();}์ด๋ ๊ฒ
๊ฐํ ๋ค ๊นจ์ก๋ค;
๋ชจ๋ ์ถ์ํด๋์ค ์์๋ฐ๊ณ ๋ง๋ ๋๋ง๋ค ์ถ์ํด๋์ค์ ์ถ์ํจ์๋ฅผ ์คํ์ํค๊ณ ์คํ์์ผ์ผ ํ๋ ๋ก์ง์ ๊ฐ ์ถ์ํจ์์์ ๊ตฌํํ๋๊ฑด ์ด๋ฐ