์ผ๋‹จ ์ฝ”๋“œ๋Š” ์ด๋Ÿผ

using UnityEngine;


public class FollowAI : MonoBehaviour

{

ย  ย  public Transform player;ย 

ย  ย  public float speed = 5.0f;ย 

ย  ย  private Rigidbody2D rb;

ย  ย  private SpriteRenderer spriteRenderer;ย 


ย  ย  void Start()

ย  ย  {

ย  ย  ย  ย  rb = GetComponent<Rigidbody2D>();

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

ย  ย  }


ย  ย  void Update()

ย  ย  {

ย  ย  ย  ย  MoveTowardsPlayer();

ย  ย  ย  ย  FlipSpriteBasedOnPlayerPosition();

ย  ย  }


ย  ย  void MoveTowardsPlayer()

ย  ย  {

ย ย 

ย  ย  ย  ย  Vector2 direction = (player.position - transform.position).normalized;

ย  ย  ย  ย  rb.MovePosition(rb.position + direction * speed * Time.deltaTime);

ย  ย  }


ย  ย  void FlipSpriteBasedOnPlayerPosition()

ย  ย  {ย  ย 

ย  ย  ย  ย  if (player.position.x > transform.position.x)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  spriteRenderer.flipX = true;

ย  ย  ย  ย  }

ย  ย  ย  ย  else

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  spriteRenderer.flipX = false;

ย  ย  ย  ย  }

ย  ย  }

}



ํ”Œ๋ ˆ์ด์–ด ๋”ฐ๋ผ๊ฐ€๊ณ  2dํƒ‘๋‹ค์šด ๋ทฐ์—ฌ์„œ ํ”Œ๋ ˆ์ด์–ด x์ขŒํ‘œ๋ž‘ ๋น„๊ตํ•ด์„œ ์  xflip์‹œ์ผœ์ฃผ๋Š” ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ์ž„

์ผ๋‹จ ์ฝ”๋“œ ์ž์ฒด๋Š” ๋‚ด๊ฐ€ ์›ํ•œ ๋Œ€๋กœ ์ž˜ ์ž‘๋™ํ•˜๋Š”๋ฐย 

์ ์ด ํ”Œ๋ ˆ์ด์–ด ๋”ฐ๋ผ๊ฐˆ๋•Œ ์ ์ด ์ž˜ ๊ฐ€๋‹ค๊ฐ€

์•ฝ๊ฐ„ ๊ฒŒ์ž„ ํ”„๋ ˆ์ž„ ๋‚ฎ์•„์งˆ๋•Œ ๋ ‰๊ฑธ๋ฆฌ๋Š”๊ฑฐ์ฒ˜๋Ÿผ ์ž ๊น ๋ฉˆ์ท„๋‹ค๊ฐ€ ์›๋ž˜ ์žˆ์–ด์•ผ๋  ์œ„์น˜๋กœ ์ˆœ๊ฐ„์ด๋™๋Œ(์ด๋•Œ ๋‹ค๋ฅธ ์˜ค๋ธŒ์ ํŠธ๋“ค์€ ์ž˜ ์›€์ง์ด๋Š”๋ฐ ์–˜๋งŒ ์ด๋Ÿผ)

์ง€๊ธˆ ์”ฌ์— ๋ญ๋„ ๋ณ„๋กœ ์—†๊ณ  ์ปด ์‚ฌ์–‘๋„ ์ข‹๊ณ  ์ฝ”๋“œ๋ฌธ์ œ๋„ ์•„๋‹Œ๊ฑฐ ๊ฐ™์€๋ฐ ๋ญ”๋ฌธ์  ์ง€ ๋„์™€์ค„ ์ˆ˜ ์žˆ์–ด?