player๋ผ๋ ์ค๋ธ์ ํธ์ ์์์ผ๋ก
satellite๋ผ๋ ์ค๋ธ์ ํธ๊ฐ ์๊ณ
๋ค์ satellite์ ์์์ผ๋ก
projectile์ด ์์ฑ๋๋๋ฐ
์์ฑ๋ ๋๋ satellite๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ์์ฑ์ด ๋ฉ๋๋ค.
๊ทผ๋ฐ ์ดํ์ ํ๋ ์ด์ด๋ฅผ ์์ง์ด๋ฉด projectile์ด ์ ์์ง์ ๋๋ค...
satellite๊ฐ ์ ์์ง์ด๋ ํ๋ฉด ๊ทธ๊ฑด ๋ ์๋๊ฒ, ํ๋ ์ด์ด๋ฅผ ์์ง์ด๋ฉด ์์ฑ๋ ๋ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ํฌ์ฌ์ฒด๊ฐ ์ ์๊ฒจ์.
๊ทธ๋ฆฌ๊ณ ์ ๋ํฐ ์ฌ ์์์ satellite๋ฅผ ์ก๊ณ ์์ง์ด๋ฉด ํฌ์ฌ์ฒด๊ฐ ๊ฐ์ด ์ ์์ง์ ๋๋ค...
์ง์ง ๋ญ๊ฐ ๋ฌธ์ ์ธ์ง ๊ฐ์ด ์ ์กํ์ ๋์ ์์ฒญํฉ๋๋ค
์์ฑ ๊ณผ์ ์ ์ด๋ ์ต๋๋ค
ย ย ย ย Vector3 projDir = targets[0];//๋ฐฉํฅ๋ค ์ ์ฅํด๋์ ๋ฆฌ์คํธ
ย ย ย ย GameObject proj = Instantiate(stat.projectile, transform.position, Quaternion.Euler(0,0,Mathf.Atan2(-projDir.x, projDir.y) * Mathf.Rad2Deg));//ํ๋ฆฌํน์์ฑ
ย ย ย ย proj.GetComponent<Projectile_Satellite>().Init(stat.baseDamage,projDir,radius, gameObject.transform);//๋ฐ๋ฏธ์ง, ๋ฐฉํฅ, ์์น ๋๊ฒจ์ค
ย ย ย ย targets.RemoveAt(0);//๋ฐฉํฅ ์ฒซ๋ฒ์งธ ์ ๊ฑฐ
ย ย public void Init(float damage, Vector3 dir, float rad, Transform parent)
ย ย {
ย ย ย ย this.transform.SetParent(parent);//๋ถ๋ชจ์ค์
ย ย ย ย this.transform.localPosition=(dir*radius);//์์น์ค์
ย ย ย ย this.damage = damage;
ย ย ย ย this.dir = dir;
ย ย ย ย rb = GetComponent<Rigidbody2D>();
ย ย ย ย this.penet = ps.penetration;
ย ย ย ย this.radius =rad;
ย ย }
ํด๊ฒฐํ์... ํ๋ ์ด์ด ์์ง์ผ๋ rb.moveposition์ผ๋ก ์์ง์ฌ์ ๊ทธ๋ฌ์...