(๋ฐ‘์— ํ”„๋ฆฌํŒน ๋ฐฉํ–ฅ์ „ํ™˜์—์„œ ์ด์–ด์ง‘๋‹ˆ๋‹ค;;;)


๊ธฐ์ˆ ์„ ์“ฐ๋ฉด ์›จ์ด๋ธŒ๊ฐ™์€๊ฒŒ ๋‚˜๊ฐ€๋ฉด์„œ Muzzle์—์„œ attackDir๊นŒ์ง€ ์ด๋™ํ•˜๋Š” ํ˜•์‹์ž…๋‹ˆ๋‹ค.

์ด๋™์ค‘์—๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์žฌ์ƒ์ด ๋˜๊ตฌ์š”.


์ผ๋‹จ ๊ธฐ์ˆ ์„ ์“ธ๋•Œ๋Š”


if (Input.GetKeyDown(KeyCode.Alpha5))

{

ย  ย  attackDir = transform.right * transform.localScale.x;

ย  ย ย 

ย  ย  // ํˆฌ์‚ฌ์ฒด ์ด๋™

ย  ย  Projectile projectile = Instantiate(sharkWavePrefab, sharkMuzzle.position + attackDir, Quaternion.identity);

ย  ย  projectile.transform.position = Vector3.Lerp(sharkMuzzle.transform.position, sharkDir.transform.position, Time.deltaTime*attackSpeed);

ย  ย ย 

ย  ย  // ํˆฌ์‚ฌ์ฒด ๋ฐ˜์ „

ย  ย  projectileDir = transform.localScale.x > 0 ? -1f : 1f;

ย  ย  projectile.transform.localScale = new Vector3(projectileDir, 1f, 1f);

}


์ด๋ ‡๊ฒŒ ํ•˜๋Š”๋ฐ attackDir๊นŒ์ง€ ๊ฐ€๊ธฐ๋Š” ์ปค๋…• ์ค‘๊ฐ„์—์„œ ์—†์–ด์ง‘๋‹ˆ๋‹ค. attackSpeed๊ฐ’์„ ๋ฐ”๊ฟ”๋ณด๊ฑฐ๋‚˜ ์ €๊ฑฐ๋ฅผ ์ง€์šฐ๊ณ  4f๊ฐ™์€ ๊ฐ’์„ ๋„ฃ์–ด๋„ ๋งˆ์ฐฌ๊ฐ€์ง€;;;


ํˆฌ์‚ฌ์ฒด ์Šคํฌ๋ฆฝํŠธ๋Š” ํ˜„์žฌ ์ด๋ ‡์Šต๋‹ˆ๋‹ค.


public class Projectile : MonoBehaviour

{

ย  ย  Animator anim;

ย  ย  SpriteRenderer spriteRenderer;


ย  ย  private void Start()

ย  ย  {

ย  ย  ย  ย  anim = GetComponent<Animator>();

ย  ย  ย  ย  spriteRenderer = GetComponent<SpriteRenderer>();

ย  ย  }


ย  ย  private void Update()

ย  ย  {

// ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๋‹ค๋๋‚˜๋ฉด ์ œ๊ฑฐ

ย  ย  ย  ย  if (anim.GetCurrentAnimatorStateInfo(0).normalizedTime >= 1.0f)

ย  ย  ย  ย  ย  ย  Destroy(gameObject);

ย  ย  }

}



ย projectile.transform.position = Vector3.Lerp(sharkMuzzle.transform.position, sharkDir.transform.position, Time.deltaTime*attackSpeed);


์ด๊ฑฐ๋งŒ ์–ด๋–ป๊ฒŒ ์†๋ณด๋ฉด ๋ ๊ฑฐ๊ฐ™์€๋ฐ;;;;