Unity. GetComponent ์ฌ์ฉํ๊ธฐ
๐ GetComponent๋
ํด๋น GameObject์ ์ํด ์๋ Component๋ฅผ ํ๋ ๊ฐ์ ธ์ฌ ์ ์๊ฒ ํ๋ ํจ์!
public GameObject sample;
private void Awake()
{
Image sampleImg = sample.GetComponent<Image>(); //sample ๊ฒ์ ์ค๋ธ์ ํธ์์ Image Component ์ถ์ถ
}
public์ผ๋ก ๋ฑ๋กํ ์ค๋ธ์ ํธ์์ GetComponent
๋ก ์ ๊ทผํ์ฌ ํด๋น ์ค๋ธ์ ํธ์ Component๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค.
private void Awake()
{
Image thisImg = GetComponent<Image>(); //๋ณธ ์ค๋ธ์ ํธ์์ Image Component ์ถ์ถ
}
๋ง์ฝ GetComponent ์์ ๊ฒ์ ์ค๋ธ์ ํธ๋ฅผ ์ง์ด๋ค๋ฉด ์ด ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๊ณ ์๋ ์ค๋ธ์ ํธ์์ ํด๋น ํ์
์ Component๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋๋ก ํ ์ ์๋ค.
GetComponent
๋ ๊ธฐ๋ณธ์ ์ผ๋ก GetComponent<T>()
ํ์์ผ๋ก ์ด๋ค. T๋ Component์ ํ์
์ด๋ค.
๐ GetComponentInChildren
GetComponentInChildren
์ GetComponent
์ ๋ง์ฐฌ๊ฐ์ง๋ก Component๋ฅผ ๊ฐ์ ธ์ค๋ ์ญํ ์ ํ๋๋ฐ, ํด๋น ์ค๋ธ์ ํธ์ ์์ ์ค๋ธ์ ํธ ์ค ๊ฐ์ฅ ๋จผ์ ๋์ด๋์ด ์๋ ์ค๋ธ์ ์์ Component๋ฅผ ๊ฐ์ ธ์จ๋ค. ์ฐ๋ ๋ฐฉ๋ฒ์ GetComponent
์ ๋์ผ!
GetComponentInParent
GetComponentInParent
๋ ํด๋น ์ค๋ธ์ ํธ์ ๋ถ๋ชจ ์์น์ ์๋ ์ค๋ธ์ ํธ์๊ฒ์ Component๋ฅผ ๊ฐ์ ธ์จ๋ค.
๐ Array ํ์
์ ํจ์๋ Component๋ฅผ ํ๋์ฉ ๊ฐ์ ธ์ค์ง๋ง ๋ฐฐ์ด ํํ๋ก ๊ฐ์ ธ์ค๋ ํจ์๋ ์๋ค. GetComponents
, GetComponentsInChildren
, GetComponentsInParent
๋ ์๊ธฐ ์์ ์ ํฌํจํ์ฌ ํด๋น๋๋ ๊ฐ ์ค๋ธ์ ํธ์ Component๋ฅผ ๋ฐฐ์ด๋ก ๊ฐ์ ธ์ฌ ์ ์๋ค.
๋๊ธ๋จ๊ธฐ๊ธฐ