๋์ ๋ฐ์ดํฐ์ ์๋ ํ๊ทธ ๊ฒ์ฌํ๋ ๋ถ๋ฆฐ์ธ๋ฐ ์ ๋ฐ์์ผ๋ก ์ฌ๋ฌ ์คํฌ๋ฆฝํธ๋ค์ ์ ๋์ ์ผ๋ก ๋ฐ์์์ ๊ทธ๋๊ทธ๋ ํ๋ฒ์ ์ฒ๋ฆฌํ๊ฒ ํ๊ณ ์ถ์๋ฐ ์ด๊ฑฐ์ ๊ฑฐ ํด๋ด๋ ๋ฐฉ๋ฒ์ด ์๋์ด ํน์ ๋ญ ์ข์ ๋ฐฉ๋ฒ ์์๊น?
[๐ฃ์ง๋ฌธ] ํน์ ์ปดํผ๋ํธ ๋ฐ์ดํฐ ๋ฐ์์ค๋๊ฑฐ ์ด๋ฐ ๋ฐฉ์์ ๋ถ๊ฐ๋ฅํจ?
์ต๋ช
(211.178)
2024-06-24 23:34:00
์ถ์ฒ 1
๋๊ธ 17
๋ค๋ฅธ ๊ฒ์๊ธ
-
ํฌ์ผ๋ก๊ทธ ํ์ค๋ก ๋ง๋ ์ด์ ๊ฐ ๋จธ์ง
[8][๐ฌ] ํ์ ์คํฌ๋ฆฝ..(nojavascript) | 24.06.24์ถ์ฒ 0 -
ROGUE ์ข์ํด? 2
[1][๐์ผ์ง] ๋์์ฝ์ธ๋ ค..(kimmsssiu) | 24.06.24์ถ์ฒ 1 -
๋๋ ๋ ๋จน์ฌ์ด๋ฆด ์ฌ๋ฒ4์ธ ์ฌ์์น๊ตฌ ์์์ผ๋ฉด
[1][๐ฌ] ์ต๋ช (182.211) | 24.06.24์ถ์ฒ 0 -
์ฝ๋ฃจํด์ด๋ async ์ธ ๋ ์ง๋ฌธ
[2][๐ฃ์ง๋ฌธ] ๋ฑ์(221.146) | 24.06.24์ถ์ฒ 0 -
๋๋ค ๊ฒ ์ถ์ํ์
[๐ฌ] ์ต๋ช (210.100) | 24.06.24์ถ์ฒ 1 -
์๋ฆญ๋ฐ๋ก ๋ณด๊ณ ๊บ ๋ฌ์๋ค
[๐ฌ] ์ต๋ช (118.221) | 24.06.24์ถ์ฒ 0 -
์ฌ์น์ด๋ผ๊ณคํ์ง๋ง ๊ฐ๋ฐํด์ฃผ๋๊ฒ์ค์ํจ
[๐ฌ] ์ต๋ช (14.38) | 24.06.24์ถ์ฒ 0 -
๊ฒ์ ํค์ํธ ๋ง๋ค์๋๋ฐ... ๋ง์์ ๋ ๋ค...
[3][๐ฌ] ์ต๋ช (175.119) | 24.06.24์ถ์ฒ 3 -
์ฌ์น์ด๋ผ๊ณคํ์ง๋ง ์ง์งํด์ฃผ๋๊ฒ์ค์ํจ
[๐ฌ] ์ต๋ช (118.221) | 24.06.24์ถ์ฒ 0 -
์๋ฆญ๋ฐ๋ก ์ด ์ฑ๊ณตํ ์ด์
[๐ฌ] ์ต๋ช (121.128) | 24.06.24์ถ์ฒ 1
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
๋ ์ง์ง ์ค๋ช ์ ๋ชปํ๋๋ฏ ๋ด๊ฐ ๊ตฌํํ๊ฒ ๋ชนํ์ ๊ฐ์ฒด์ ๋ฐ์ดํฐ ์คํฌ๋ฆฝํธ , ์์ดํ ํ์ ์ ๋ฐ์ดํฐ ์คํฌ๋ฆฝํธ ๋ ์ข ๋ฅ๊ฐ ์๊ณ , ๋๋ค data๋ผ๋ ์ด๋ฆ์ ๊ตฌ์กฐ์ฒด๋ฅผ ๊ฐ์ง ๊ทธ ์์๋ 5์ข ๋ฅ์ enumํ ํ๊ทธ๊ฐ ์ ์๋์ด ์๊ณ , ๊ทธ์ค Tag๋ผ๋ ์ด๋ฆ์ enumํ๊ทธ๊ฐ ๋ด๊ฐ ์ฐพ๊ณ ์ ํ๋ ํ๊ทธ(์ธ์์ ๋ฌธ์์ด)๊ณผ ๊ฐ์์ง ๊ฒ์ฌํด์ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋๊ฒ ์์ ํจ์์ ๊ทผ๋ฐ ๋๋ ์ ํจ์๋ฅผ ํ๋ฒ๋ง ๋ง๋ค๊ณ ์์์ผ๋ก ๋๋ ค์ฐ๊ณ ์ ํจ ์ ๊ตฐํ๊ทธ๋ฅผ ๊ฒ์ฌํ ๋๋ ์ ๊ฑธ ์ฐ๊ณ ์์ดํ ํ๊ทธ๋ฅผ ๊ฒ์ฌํ ๋๋ ์ ๊ฑธ ์ฐ๊ณ ์ถ์ด
๋ญ ์ค์์น๋ ์กฐ๊ฑด๋ฌธ์ผ๋ก ๋๋์ง ์๊ณ ๋ณ์ ํ์์ผ๋ก ๊ทธ๋๊ทธ๋ ํ๊ฒ ์ฝ๋ผ์ด๋๋ก๋ถํฐ ๊ฒ์ถ๋๋ ๋ชน/์์ดํ ์ปดํผ๋ํธ์ค ํ๋๋ฅผ ๊ทธ ๋ณ์์ ๋ฐ์์ ์ ๋์ ์ผ๋ก ํ๊ทธ๋ฅผ ๊ฒ์ฌํ์ผ๋ฉด ํจ
ํน์ ๋ณ์ ์ด๋ฆ์ string ๊ทธ ์์ฒด๋ก ์ฐ๊ณ ์ถ๋ค๋๊ฑฐ?
๊ทธ๋ด์ ์๋ค๋ฉด ์ข๊ฒ ์ง๋ง ์๋๋๋ผ๊ณ ๋ง์ฝ ๊ฐ๋ฅํ๋ค๊ณ ์น๊ณ ์ค๋ช ์ ํ๋ค๋ฉด, Item ์ด๋ Mob์ด๋ผ๋ ์ปดํผ๋ํธ๊ฐ ์์๋ ํ๊ฒ ๊ฐ์ฒด๊ฐ ๊ฐ์ง๊ฒ ๋์ค ๋ญ์ง๋ฅผ ๊ฒ์ถํ๊ณ , string scriptType = (ํ๊ฒ์ด ๊ฐ์ง ์ปดํผ๋ํธ์ ์ด๋ฆ); ~~~.GetComponent().data.Tag ๋ญ ์ด๋ฐ์์ผ๋ก ํ๊ณ ์ถ์
* ~~.GetComponent().data.Tag
๋๊ธ๋ก ์ ๋ถ๋ฑํธ๊ธฐํธ ์ฌ์ด์ ๋ญ ์ฐ๋ฉด ์๋ณด์ด๊ฒ ๋ฐ๋๋ค ์ ์ฌ์ง์ ๋ณ์๋ช ์ด๋ผ ์ด ๊ณณ์ scriptType๋ผ๋ ๋ณ์๋ฅผ ๋ฃ๊ฒ ๋ค ์ด๋ง์
์ ํน์ nameof() ์จ๋ด? ์๋ฅผ๋ค์ด int itemcount = 0; ์์ string text = nameof(itemcount) ํ๋ฉด ๊ทธ ๋ณ์๋ "itemcount" ๊ฐ ๋๋๊ฑฐ๋ก ์๊ณ ์๋๋ฐ
๋ค์์ค๋ธ ์จ๋ดค๋๋ฐ ์๋๋๋ผ๊ณ ... ๋ฌด์จ ํ์์ ๋ญ๋ก ๋ณํํ ์ ์์ต๋๋ค์๋? ๋ง ์ด๋ฌ๋๋ฐ ์ง๊ธ์ ๊บผ์ ๋น์ฅ ํ์ธ์ด ์๋๋ค
public interface ITaggable{ string Tag { get; }}public class MyComponent : MonoBehaviour, ITaggable{ public string Tag => "ExampleTag";}=======================public bool TagCheck(Collider target){ ITaggable taggable = target.gameObject.GetComponent(); if (taggable != null && taggable.Tag == "SomeTag") { return true; } return false;}
๋ญ์๋ฆฐ์ง๋ ์๊ฒ ๋๋ฐ ์ด๋ฐ๊ฑด ๊ฑ ์ธํฐํ์ด์ค ์ฐ์ ์ ๊ทธ๋ ๊ธฐ ํด์ผ๋๋ฉด ๋ฆฌํ๋ ์ ์ด๋ผ๋๊ฒ๋ ์๊ธดํจ...
๋ฆฌํ๋์ ... ๊ทธ ๋ฐฉ๋ฒ๋ ์์๋ณด๊ธดํ๋๋ฐ ๋๋์ ๋ถ๋ช ํ ๋ ์ญ๊ฒ ๊ฐ๋ ๋ฐฉ๋ฒ์ด ์์๊ฑฐ๊ฐ์์ ๋ณด๋ฅ์ค์ธ ์ํ์ ์ธํฐํ์ด์ค๋ ์ด๋ค ๋ฐฉ์์ผ๋ก ํ๋ผ๋๊ฑด์ง ์ ๋ชจ๋ฅด๊ฒ ๋ค ๋ด ์ง์์ผ๋ก ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ ์ ๋์ ์คํฌ๋ฆฝํธ ๋ฐ์ดํฐ ๋ฐํ์ ์๋ ์ค๋ฆ
์ธํฐํ์ด์ค๋ ๊ตณ์ด ์ ๋์ ์คํฌ๋ฆฝํธ ๋ฐ์ดํฐ ๋ฐํ์ ํ ํ์๊ฐ ์์ ๋์ด ์ํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ ค๋ฉด ์ด์ฐํ๊ฑด ํ์ฐ์ ์ผ๋ก ๋ฐ์ฑ์ธ๋ฐ์ฑ์ด ๋ฐ์ํ ํ ๋ฐ ๊ผญ ๊ทธ๋ฐ์์ผ๋ก ๊ตฌํํด์ผ๋งํ๋ ๋ฌธ์ ๋ ์๋์์ด. ๋์์ผ๋ฉด ๊ทธ๋ฅ ์ธํฐํ์ด์ค์ ํ๊ทธ ๋ฐํ ๋ฉ์๋ ์ ์ธํ๊ณ ์์ดํ ํด๋์ค ๋ชนํด๋์ค์ ์ธํฐํ์ด์ค ๋ถ์ผ๊ฒ๊ฐ์
์ค์์น๋ ์กฐ๊ฑด๋ฌธ ์ ์ฐ๋ ค๊ณ ์ธํฐํ์ด์ค ์ฐ๋๊ฑด๋ฐ ๋๊ธ์ ๋์ฒด ๋ญ๋ง์? ๊ฒ์ถํด์ ๋ณ์์ ์ ๋์ ์ผ๋ก ๋ฐ์์ค๊ฒ ๋ค <-- ์ด๊ฑฐ์ผ๋ง๋ก ์กฐ๊ฑด๋ฌธ์ผ๋ก ๋๋ ์ ๋ค๋ฅธ๊ฑฐ ํ ๊ฒ ์๋๋ฉด ํ์๊ฐ ์๋ ํ์์ธ๋ฐ
์ผ๋จ ์ด๋ฐ ๊ฑธ ์ํ๋ ๊ฒ ๋ง๋ ๊ฑฐ์ผ? ์ด๊ฑฐ ๋ ์ด์ ์ ์ฐ์ด๋ ๋ฐฉ์์ด๋ผ ์ ๋ํฐ์์๋ ๋น์ถ์ฒํ๋ ๊ฑด๋ฐ ์ ์ด๋ ๊ฒ ํ๊ณ ์ถ์ ๊ฑด์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค SpriteRenderer spriteRenderer1 = (SpriteRenderer)GetComponent(typeof(SpriteRenderer)); SpriteRenderer spriteRenderer2 = (SpriteRenderer)GetComponent(nameof(SpriteRenderer)); SpriteRenderer spriteRenderer3 = (SpriteRenderer)GetComponent("SpriteRenderer");
์ ๋ค๋ฆญ์ด๋ ์ธํฐํ์ด์ค๋ก ๋ค์ ์ง๋ด ๋๊ฐ ์ํ๋ ๊ฒ ์ด๊ฑฐ ๊ฐ์๋ฐpublic interface ITaggerable{ string MyTag { get; }}public bool TagCheck(Collider target, string tag) where T : Component, ITaggerable{ if (target.gameObject.TryGetComponent(out var comp)) return comp.MyTag == tag; return false;}
์ ๋น์ด๋จน์ ๊ฐํ๋ฌธ์ ใ ใ ๊ทธ๋ฅ ์์์ ๊ฐํํด์ ๋ด๋ด