Udemy ์ ๋ํฐ ์ด๊ธ ๊ฐ์ข ๋ฃ๋๋ฐ ๋ ์ฌ๊ธฐ๊ฐ ์ข ์ด์ํ๋๋ผ
์๋, ์ ์ด์ SpriteRenderer๊ฐ SpriteRenderer์ธ๋ฐ(?) ์ ๋ณ์(spriteRenderer)๋ฅผ ๋ง๋ค์ด์ ๊ฑฐ๊ธฐ์ ๋ <SpriteRenderer>๋ฅผ ์ง์ด ๋ฃ์ด?
๋ญ๊ฐ SpriteRenderer = SpriteRenderer ์ด๋ฌ๋ ๋๋์ด๊ฑฐ๋ . ์ํ๋ ผ์ฆ์ด๋๊น;;;
๊ทผ๋ฐ ์ฒ์์ SpriteRenderer๋ ๋ฐ์ดํฐ ํ์ ์ธ ๊ฒ์ด๊ณ ,
๋ฐ์ <SpriteRenderer>๋ ์ปดํฌ๋ํธ๋ฅผ ๋งํ๋ ๊ฑฐ์ง? ๊ทธ๋ฌ๋๊น ๊ธ์๋ง ๊ฐ์ง ์ฌ์ค ๋์ด ๊ฐ์ ๊ฒ ์๋ ๊ฒ?
๋ ์ด๊ฑฐ ๊นจ๋ซ๋ ๋ฐ ์ดํ ๊ฑธ๋ ธ์ด;;;
C# ์ฒ์ ํ๋ ์ฌ๋๋ค์ ์ด๊ฒ ๋ฐ๋ก ์ดํด๊ฐ ๊ฐ์ด? ์๋๋ฉด ์ดํด๋ ์ ํํ ๋ชป ํ์ง๋ง ๊ธฐ๊ณ์ ์ผ๋ก ์๊ธฐํ๊ณ ๋์ด๊ฐ ๊ฑฐ์ผ?
ํ๋ก๊ทธ๋๋ฐ ์ง์์ด ์์ผ๋ฉด ํท๊ฐ๋ฆด ์ ์์
๊บฝ์SpriteRenderer๊บฝ์ ๋ ์ ๋ค๋ฆญ ๋ฌธ๋ฒ์ธ๋ฐ ๊ทธ๋ฅ ์ ๋ค๋ฆญ์ด ๋ญ์ง ๋ชจ๋ฅด๋ ๋ฏ. ์ ๋ค๋ฆญ ํ๋ก๊ทธ๋๋ฐ ๊ณต๋ถํ๊ณ ์ค์ผ
์ด๋ ๊ฒ ๋ฐ๋ก ์ ๋ํฐ๋ถํฐ ๋ฐ์น๊ธฐํ๋ฉด ์ค๊ฐ๋ ๋ค์ด๊ฐ์ ๋์ค์ ๋์ฐธ์ฌ๋จ. ์๋ฌด๋ฆฌ ์ต์ํ์ผ๋ก ์ก์๋ ์ธ์ด ํ๋ ๊ธฐ๋ณธ๊ธฐ์ ์๋ฃ๊ตฌ์กฐ๊น์ง๋ ๊ณต๋ถ๋ฅผ ํด์์ผ ์ดํด๊ฐ ๋ ํ ๋ฐ
GetComponent ์์ฒด๋ฅผ ์ ํ๋๊ฑด์ง ๋ฌผ์ด๋ณธ๋ค๊ณ ํ๋ฉด ๊ทธ ์ฝ๋์์์๋ ์คํ๋ผ์ดํธ ๋ ๋๋ฌ๊ฐ ์๋๋ผ ๋ชจ๋ ธ๋นํค์ด๋น์ด๋ฅผ ์์ํ๋ ํด๋์ค์ธ๊ฑฐ์. ๊ทธ ํด๋์ค์์ GetComponent๋ก ์คํ๋ผ์ดํธ ๋ ๋๋ฌ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฑฐ๊ณ
๋ต๊ธ์ค์ ๊ถ๊ธํ๋ฐ ์ ๋ํฐ ๋ฐ์น๊ธฐํ๊ธฐ์ ์๊ผญ๋ฐฐ์๋ฌ์ผ ํ ๊ฒ์ด๋ ๋ฐฐ์๋๋ฉด ์ข์๊ฒ ๋ช๊ฐ์ง ์๋ ค์ค์์์์? - dc App
๋ณ ๋ชจ์์ผ๋ก ๋ ์์๊ฐ ์๋ค๊ณ ์น์ ๊ทธ๊ฑธ ์ ์ธํ๋ฉด Star star; ๊ฐ ๋๊ฒ ์ง ํ์ง๋ง ์ด ์ํ๋ก๋ ์์ ์์ ๊ฑ ๋น์ด์์ด. ๊ทธ๋ฌ๋ star = GetComponent<Star>(); ๋ฅผ ํด์ ๋ณ ๋ชจ์ ์์์ ๋ค์ด๊ฐ ๋ณ์ ๋ถ๋ฌ์ค๋ ๊ฑฐ์
์ฐ์! ์น์ ์ ๋์ด ์๋ฆ๋ค์ด ์ค๋ช ์ด์ผ. ๋๋ฌผ ๋๋ค ใ ใ ๊ณ ๋ง์. ์์ ๋๊ธ๋ค๋ ๋ค ๊ณ ๋ง๊ณ . ๊ณ์ ๊ณต๋ถํ ๊ฒ.
๋๋ถ๋ถ์ ํ๋ก๊ทธ๋๋ฐ์์ ์๋ฌธ์์ ๋๋ฌธ์ ์ฌ๋ถ๊ฐ ๋ค๋ฅด๋ฉด ๋์ด ๊ฐ์๊ฒ ์๋๋ค
SpriteRenderer spriteRenderer; <- ์คํ๋ผ์ดํธ ๋ ๋๋ฌ ๋ฃ๋ ํต spriteRenderer = ๊ฒ์ปดํฌ๋ํธ <- ๊ฑฐ๊ธฐ๋ค ์ง์ด ๋ฃ์
๊ณ ๋ง์ ๊ณ ๋ง์ โก
์ด๋ฆ์ด ๊ฒน์ณ์ ํท๊ฐ๋ฆฌ๋๊ฑด๋ฐ ์ฌ์ค ์๋ฌธ์์ชฝ์ ๋ค๋ฅธ ์๋ฌด ์ด๋ฆ์ผ๋ก ํด๋ ์๊ด์์ด ๊ทธ๋ฅ ์ด๋ฆ์ด์ผ ๊ทผ๋ฐ ๊ฐ๋ฐํ๋ค๋ณด๋ฉด ์๊ฒ ์ง๋ง ๋ณ์ ์ด๋ฆ์ ์ปดํฌ๋ํธ๋ ์์ ๋ค๋ฅธ๊ฑฐ๋ก ํ๋ฉด ์ ์ ์๊ธฐ๊ฐ ํท๊ฐ๋ฆฌ๊ธฐ ์ฝ์์ด๋ผ ํด๋น ๋ณ์์ ์ปดํฌ๋ํธ๋ฅผ ๋ฐ๋ก ๋ ์ฌ๋ฆด์ ์๊ฒ ์๋ฌธ์๋ ์ฝ์นญ์ ๋ง์ด ์ฐ๋๊ฑฐ์ผ
์ปดํฌ๋ํธ ์ด๋ฆ์ ์ ๋ํฐ๊ฐ ์ ํ ๊ธ์ ๋์๋ฌธ์๋ฅผ ์ ๋ถ ๊ฐ๋ ค์ผ๋๊ณ ๋ณ์์ด๋ฆ์ ์๊ด์ด์์ด. ๊ทธ๋ฐ๋ฐ๋ ์คํํธ, ์ด์จ์ดํฌ๋ ์ด๋ค์ด๋ธ ๋ฑ์์ ์ด๊ธฐํ ํ๋ ์ด์ ๋ ๊ทธ ์ปดํฌ๋ํธ๊ฐ ์ด๋ค ์ค๋ธ์ ํธ์ ๋ถ์ด์๋๋ฅผ ํ์ธํ๋๊ฑฐ์ผ ์ง๊ธ ์์ฑ์๊ฐ ํ ๊ฒ์ปดํฌ๋ํธ๋ ์๊ธฐ ์์ ์ ์ค๋ธ์ ํธ์์ ๋ถ๋ฌ์ค๋๊ฑฐ๊ณ
๊ทธ ์ธ ๊ฒ ์ปดํฌ๋ํธ ์ธ ํ๋ ํธ๋ ์น ๋๋ฐ, ํน์ ์์ ๋จผ๊ณณ์ ์ค๋ธ์ ํธ์์ ๊ฐ์ ธ์์ผ ํ ๋๊ฐ ์์ด ๊ทธ๋ผ์๋ ๊ทธ ์ค๋ธ์ ํธ๊ฐ ์๋๋ผ ์ง๊ธ ์์ฑ์ค์ธ ์คํฌ๋ฆฝํธ์์ ๋ถ๋ฌ์์ผ ํ ๊ฒฝ์ฐ๊ฐ ๊ฐ๋ฐํ๋ค๋ณด๋ฉด ์๊ฒจ ๊ทธ๋์ ์๋๊ฑฐ์ผ
์ ์์ ์ด ๊ฑด ๊ทธ ์ง๋ฌธ์ ์๋์์ง๋ง, ์ ํํ ๋ณ์ ์ด๋ฆ์ ๋๊ฐ์ด ํ๋์ง ๊ทธ๊ฒ๋ ๊ถ๊ธํ๊ธด ํ๋๋ฐ ์๋ ค์ค์ ๊ณ ๋ง์.
๋ ๊ตณ์ด ์คํํธ ์ด์จ์ดํฌ ์ด๋ค์ด๋ธ์ด ์๋๋ผ ๋ค๋ฅธ ์ผ๋ฐ์ ์ธ ํผ๋ธ๋ฆญ ๋ณด์ด๋ ๋ฉ์๋๋ ์ ๋ฐ์ดํธ ๋ฑ์์ ์ด๊ธฐํํด๋ ๊ทธ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๋ ์ฝ๋๊ฐ ๊ทธ ๋ค์ ๋์ค๋ ๊ธฐ๋ณธ์ ์ธ ์์๋ง ๋ง๋ค๋ฉด ์ด๋์ ์ด๊ธฐํํ๊ฑด ์๊ด์์ด
์ ๊ฑฐ ์ฝ๋ ์ข ๋ ๊ธธ๊ฒ ์ ์ผ๋ฉด ์ด๋ฐ ํํ๋ผ์ ๊ทธ๋์. SpriteRender spriteRender = null; spriteRender = this.gameObject.GetComponent();
C๋ฅผ ์๋ฉด ์ ํท๊ฐ๋ ธ์ํ ๋ฐ C#์์ ์ ์ธ์ SpriteRenderer* ptr = nullptr ๊ณผ ๋น์ทํ ๋๋.
๊ธฐ์ด๊ฐ ์ด๋ ๊ฒ ์ค์ํด์
์ข ์ผ๋งค๋ก ์ค๋ช ํ๋ฉด ์ ๋ํฐ ๋ด์ ๋ชจ๋ ์ปดํฌ๋ํธ๋ ํ๋์ ๊น์ํ C# ์คํฌ๋ฆฝํธ์ด์ ๋ฏธ๋ฆฌ ์ง์ฌ์ง ํด๋์ค๋ผ๊ณ ๋ณด์๋ฉด ๋์. SpriteRenderer spriteRenderer๋ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ด ์๋๋ผ C# ๋ฌธ๋ฒ์ ๋ฐ๋ผ์ SpriteRenderer๋ผ๋ ํด๋์ค๋ฅผ ๋ด๋ ๋ณ์๋ฅผ ์ ์ธํ๋๊ฑฐ์์
๋ค๋ค ๊ณ ๋ง์. ๋๊ธ ์ ๋ถ ๋ค ๋ ธ์ ์ ๋ณต๋ถํด์ ์ ์ฅํด ๋์ด. ์ ์ฐธ๊ณ ํ ๊ฒ.
= ๋ฅผ ์ฐ๋ฆฌ๊ฐ ์ํ์ ์ผ๋ก ํํ ์๋ โ์ด๊ผดโ๋ก ๋ณด์ง๋ง๊ณ โ๊ฐ๋ฆฌํค๊ณ ์๋คโ ๋ผ๋ ํ์ดํ์ ์๋ฏธ๋ก ์ดํดํ๋ฉด ์์ผ๋ก๋ ์ข ์ฌ์ธ๊ฑฐ์ ์ด๊ฒ๋ ์ ํํ ํํ์ ์๋๊ฒ ์ง๋ง ใ
๋๋ฒ๊น ํ๋ฒ ํด๋ณด๋ฉด ์๋ฒฝ ์ดํด ๊ฐ๋ฅ