๊ฐค ํ˜•๋‹˜๋“ค์˜ ๋‹ต๋ณ€์„ ์–ป์–ด ํˆฌ์‚ฌ์ฒด ์ด๋™๊ฐ„์— ์• ๋‹ˆ๋ฉ”์ด์…˜ ์žฌ์ƒ๋˜๊ณ  Destroy๋˜๋Š”๊ฒƒ์ด๋ž‘ ๊ทธ๋Ÿฐ๊ฒƒ๋“ค์€ ๋‹ค ํ•ด๊ฒฐ์€ ํ–ˆ์Šต๋‹ˆ๋‹ค๋งŒ


์Šคํ”„๋ผ์ดํŠธ ๋ฐ˜์ „์ด ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.


์˜ˆ๋ฅผ๋“ค์–ด


P(ํ”Œ๋ ˆ์ด์–ด)ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย E(์ )

์ด๋ผ๋ฉด


ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์ ํ•œํ…Œ ํŒŒ๋™๊ถŒ์„ 3๋ฒˆ ์—ฐ์† ๋‚ ๋ฆฐ๋‹ค.


P >>>ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย E


์ž˜ ๋‚ ์•„๊ฐ‘๋‹ˆ๋‹ค ๊ทธ๋Ÿฐ๋ฐ ๊ฐ‘์ž๊ธฐ ๋ฐฉํ–ฅ์ด ๋ฐ”๋€Œ๋ฉด


Eย  ย  ย  ย  ย  ย  <<ย  ย  ย P >


์ด๋ ‡๊ฒŒ ๋‚ ์•„๊ฐ‘๋‹ˆ๋‹ค;;; ๊ผญ ํ•œ์ชฝ์ด ๋ฐฉํ–ฅ์ด ์•ˆ๋ฐ”๋€Œ์–ด ๋‚ ์•„๊ฐ„๋’ค ๊ทธ ๋’ค์—๊ฑด ์ˆ˜์ •๋˜์–ด ์ž˜๋‚ ์•„๊ฐ‘๋‹ˆ๋‹ค;


Projectile ์Šคํฌ๋ฆฝํŠธ๋Š” ์ด๋ ‡๊ฒŒ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.


public class Projectile : MonoBehaviour

{

ย  ย  Animator anim;

ย  ย  SpriteRenderer spriteRenderer;


ย  ย  [SerializeField] float speed;

ย  ย  [SerializeField] float range;

ย  ย  [SerializeField] bool isMoving;


ย  ย  private void Start()

ย  ย  {

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

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

ย  ย  }


ย  ย  private void Update()

ย  ย  {

ย  ย  ย  ย  if (isMoving)

ย  ย  ย  ย  ย  ย  Movement();


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

ย  ย  ย  ย  ย  ย  Destroy(gameObject);

ย  ย  }

ย  ย  public void Movement()

ย  ย  {

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

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

ย  ย  ย  ย  transform.position = Vector3.Lerp(transform.position, transform.position + attackDir + new Vector3(range * projectileDir, 0, 0), Time.deltaTime * speed);

ย  ย  }

}


ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ๊ธฐ์ˆ  ์‚ฌ์šฉํ• ๋•Œ๋Š”


// ์ƒคํฌ์›จ์ด๋ธŒ

if (Input.GetKeyDown(KeyCode.Alpha5))

{

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


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

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


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

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

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

}


์ด๋ ‡๊ฒŒ ๋ฐ”๊ฟจ์Šต๋‹ˆ๋‹ค.