์œ ๋‹ˆํ‹ฐ 2D์—์„œ ์บ๋ฆญํ„ฐ์ด๋™์„ ํ•˜๋ฉด ์ˆœ๊ฐ„์ด๋™ ํ•˜๋“ฏ์ด ์‚ฌ์‚ฌ์‚ญํ•˜๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜(Move ์• ๋‹ˆ๋ฉ”์ด์…˜)์„ ์ถ”๊ฐ€ํ–ˆ๋Š”๋ฐ

anim.SetBool("isMove", isMove)๋ฅผ ์จ์„œ


isMove๊ฐ€ true์ผ๋•Œ Move ๋‚˜์˜ค๊ณ  ๋‹ค์‹œ Idle์ƒํƒœ๋กœ ๋Œ์•„๊ฐ€๋Š” ์ฝ”๋“œ๋ฅผ ์งฐ๋Š”๋ฐ

Debug.Log๋ฅผ ์ฐ์œผ๋ฉด isMove๊ฐ€ true๋กœ ๋ฐ”๋€Œ๋Š”๊ฒŒ ๋‚˜์˜ค๋Š”๋ฐ ์ •์ž‘ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์‹คํ–‰์ด ์•ˆ๋ฉ๋‹ˆ๋‹ค.

์• ๋‹ˆ๋ฉ”์ดํ„ฐ์—์„œ๋„ ํŠธ๋žœ์ง€์…˜ ์„ค์ •ํ–ˆ๋Š”๋ฐ ๋ณ€ํ™”๋„ ์•ˆ๋˜๊ณ ์š”;;;

๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์—ฌ๊ธฐ์„œ ๋ง‰ํžˆ๋‹ˆ๊นŒ ๋Œ•๋‹ต๋‹ตํ•ฉ๋‹ˆ๋‹ค;;


์ฐธ๊ณ ๋กœ ํŠธ๋ฆฌ๊ฑฐ๋กœ๋„ ํ•ด๋ดค๋Š”๋ฐ ์ž˜๋˜๊ตฌ์š”;;;



ํ˜น์‹œ ๋ชฐ๋ผ ์ฝ”๋“œ๋„ ๊ฐ™์ด ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค.


using System.Collections;

using System.Collections.Generic;

using UnityEditor;

using UnityEngine;


public class Player : MonoBehaviour

{

ย  ย  [SerializeField] Tile onTile;

ย  ย  [SerializeField] bool isLeft;

ย  ย  [SerializeField] Enemy target;

ย  ย  [SerializeField] Object attackBar;


ย  ย  [Header("PlayerInfo")]

ย  ย  [SerializeField] int maxHp;

ย  ย  [SerializeField] float attackPower;

ย  ย  [SerializeField] float attackRange;

ย  ย  [SerializeField] float moveSpeed;


ย  ย  Animator anim;

ย  ย  SpriteRenderer spriteRenderer;

ย  ย  bool isThere;

ย  ย  bool isMove;

ย  ย  int hp;


ย  ย  private void Start()

ย  ย  {

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

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

ย  ย  ย  ย  transform.position = onTile.GetPosition(isLeft);

ย  ย  ย  ย  hp = maxHp;

ย  ย  }


ย  ย  private void Update()

ย  ย  {

ย  ย  ย  ย  Debug.Log(onTile.name);

ย  ย  ย  ย  Flipx(isThere);

ย  ย  ย  ย  Attack();


ย  ย  ย  ย  anim.SetBool("isMove", isMove);

ย  ย  ย  ย  Move();

ย  ย  ย  ย  Debug.Log(isMove);

ย  ย  ย  ย  isMove = false;

ย  ย  }

ย  ย  public void Move()

ย  ย  {

ย  ย  ย  ย  if (Input.GetKeyDown(KeyCode.LeftArrow))

ย  ย  ย  ย  ย  ย  Movement(DIRECTION.Left);


ย  ย  ย  ย  if (Input.GetKeyDown(KeyCode.RightArrow))

ย  ย  ย  ย  ย  ย  Movement(DIRECTION.Right);


ย  ย  ย  ย  if (Input.GetKeyDown(KeyCode.UpArrow))

ย  ย  ย  ย  ย  ย  Movement(DIRECTION.Up);


ย  ย  ย  ย  if (Input.GetKeyDown(KeyCode.DownArrow))

ย  ย  ย  ย  ย  ย  Movement(DIRECTION.Down);

ย  ย  }

ย  ย  public void Movement(DIRECTION dir)

ย  ย  {

ย  ย  ย  ย  Tile nextTile = onTile.Move(isLeft, dir);

ย  ย  ย  ย  if (nextTile == null)

ย  ย  ย  ย  ย  ย  return;


ย  ย  ย  ย  transform.position = nextTile.GetPosition(isLeft);

ย  ย  ย  ย  onTile = nextTile;

ย  ย  ย  ย  isMove = true;ย 

ย  ย  }