์ธํ„ฐ๋„ท ์ฐพ์•„๋ดค๋Š”๋ฐ ๋ฆฌํ”Œ๋ ‰์…˜?์€ ๋ญ”์ง€ ์ฝ์–ด๋„ ๋„ˆ๋ฌด์–ด๋ ต๊ณ 

map์œผ๋กœ ํ•˜๋Š”๋ฐฉ๋ฒ•์€ ์•ˆ๋˜๋Š”๊ฑฐ๊ฐ™์•„์„œ ์งˆ๋ฌธ์˜ฌ๋ฆผ


์ผ๋‹จ ์ฝ”๋“œ


for(int i=0; i<bulletCount; i++)
ย  ย  ย  ย  {
ย  ย  ย  ย  ย  ย  ObjectPool.getObject(ObjectPool.instance.bullet1, ObjectPool.instance.objectInfos[bulletNum]);
ย  ย  ย  ย  }


์ผ๋‹จ ์ƒํ™ฉ์€

์˜ค๋ธŒ์ ํŠธ ํ’€๋ง ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋‚˜ ์‹ถ๊ธฐ๋„ ํ•œ๋ฐ ์ธํ„ฐ๋„ท ๋‹ค์ฐพ์œผ๋ฉด์„œ ์ตœ๋Œ€ํ•œ ์“ฐ๊ธฐ์‰ฝ๊ฒŒ ๋งŒ๋“ ๊ฑฐ๋ผ

objectPool.getObject(์˜ค๋ธŒ์ ํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์˜ฌ ํ, ์˜ค๋ธŒ์ ํŠธ ์ •๋ณด) ์ด๋ ‡๊ฒŒ ๋˜์žˆ์Œ

์ง€๊ธˆ ํ•„์š”ํ•œ๊ฑด ์ด๋งˆ๋‹ค ์ด์•Œ์„ ๋‹ค๋ฅด๊ฒŒ ํ•ด์•ผ๋˜๊ณ  ์˜ค๋ธŒ์ ํŠธ ํ’€๋ง์€ ๋Œ๋ฆด๊บผ๋ผ์„œ ์ €๊ธฐ ์ฐํ•˜๊ฒŒ ์น ํ•ด๋‘” bullet1ย ์„ bullet2, bullet3 ์ด๋Ÿฐ์‹์œผ๋กœ ๋™์ ์“ฐ๊ณ ์‹ถ์Œ

ํŒŒ์ด์ฌ์“ธ๋–ˆ locals()['~~'] ์ด๋Ÿฐ๊ฑธ๋กœ ํ•œ๊ฑฐ๊ฐ™์€๋ฐ C#์€ ์•„๋ฌด๋ฆฌ ์ฐพ์•„๋„ ๋ชจ๋ฅด๊ฒ ์Œ

๋ฌด์ง€์„ฑ์œผ๋กœย string.Format์œผ๋กœ ํ•˜๋ ค๋‹ˆ๊นŒ string.Format("ObjectPool.instance.bullet{0}",i.ToString()) ์ด๋Ÿฌ๋ฉด ์ดํ•ด๋ฅผ ๋ชปํ•˜๊ณ 

ObjectPool.instance.string.Format์ด๋”ฐ๊ตฌ๋กœ ์“ฐ๋Š”๊ฑด ๋ง๋„์•ˆ๋˜๊ณ  ๋ญ˜ ๋ชจ๋ฅด๊ฒ ์Œ

๋„์™€์ค˜์š” ใ…กใ…ใ…ใ…ใ…ใ…