ํ˜„์žฌ ๋ชจ๋ฐ”์ผ ๊ฒŒ์ž„์ธ "ํฌ๋ฃจ์„ธ์ด๋” ํ€˜์ŠคํŠธ" ๋„ํŠธ ์ด๋ฏธ์ง€๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‚˜๋ฆ„ ํŒฌ๋ฉ”์ด๋“œ ๊ฒŒ์ž„์„ ์ œ์ž‘์ค‘์ž…๋‹ˆ๋‹ค.


ํ˜„ํ™ฉ์ด๋ผ๊ณ  ํ•˜๊ธฐ์—” ์ดˆ๋ผํ•˜์ง€๋งŒ ์–ด์ฐŒ ์ €์ฐŒ ๊ฒŒ์ž„ ํŒŒ์ผ์„ ๋œฏ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋‚ด ์Šคํ”„๋ผ์ดํŠธ๋ฅผ ๋ฝ‘์•„ ์œ ๋‹ˆํ‹ฐ ๋‚ด๋ถ€๋กœ ๊ฐ€์ ธ์˜จํ›„


์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋งŒ๋“ค๊ณ  ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์งœ์„œ ๋›ฐ๋Š”๋ชจ์…˜ ๋Œ€๊ธฐ๋ชจ์…˜์„ ๋งŒ๋“ ํ›„ ์‹œํ—˜ํ•ด๋ณด๋‹ˆ ์ €๋ฆฌ ๋‚˜์˜ค๋„ค์š”


์• ๋‹ˆ๋ฉ”์ด์…˜ ๋งŒ๋“ค๋•Œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋›ฐ๋Š” ๋ชจ์…˜์„ ๋งŒ๋“ค์–ด์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ฐ€๋Š”๊ฑด ๋ฉ€์ฉกํ•œ๋ฐ ์™ผ์ชฝ์œผ๋กœ ๊ฐ€๋Š” ๊ณผ์ •์—์„œ ์ €๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค


์ด๋Ÿฐ ์ฝ”๋“œ๋ฅผ ์ผ๋Š”๋ฐ ์บ๋ฆญํ„ฐ ์ค‘์‹ฌ์ถ•๋งŒ ์™ผ์ชฝ์œผ๋กœ ๋ฐ”๋€Œ๊ณ  ์• ๋‹ˆ๋ฉ”์ด์…˜์€ ๋”ฐ๋ผ์˜ค์ง€ ๋ชปํ•˜๋Š”๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ์™ผ์ชฝ์œผ๋กœ ๋ฉ€์ฉกํ•˜๊ฒŒ ๋’ค์ง‘ํ˜€ ์›€์ง์ผ๊นŒ์š”?


void Update()

ย  ย  {

ย  ย  ย  ย  // h =ย 

ย  ย  ย  ย  // -1 ์™ผ์ชฝ

ย  ย  ย  ย  // ย 0 ย ์ •์ง€

ย  ย  ย  ย  // ย 1 ย ์˜ค๋ฅธ์ชฝ

ย  ย  ย  ย  float h = Input.GetAxis("Horizontal");


ย  ย  ย  ย  if ( h != 0)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  //์˜ค๋ฅธ์ชฝ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ „ํ™˜

ย  ย  ย  ย  ย  ย  _animator.SetBool("Test", true);

ย  ย  ย  ย  ย  ย  if ((h < 0 && _isRightDir) || (h > 0 && !_isRightDir))

ย  ย  ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  ย  ย  Flip(); //์‹œ์„ ๋ณ€๊ฒฝ

ย  ย  ย  ย  ย  ย  }

ย  ย  ย  ย  }

ย  ย  ย  ย  else

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  //๋Œ€๊ธฐ ์• ๋‹ˆ๋ฉ”์ด์…˜

ย  ย  ย  ย  ย  ย  _animator.SetBool("Test", false);

ย  ย  ย  ย  }

ย  ย  }


ย  ย  void Flip() //์Šค์ผ€์ผ x ์Œ์–‘ ๋ณ€ํ™˜ ์ฐธ์กฐ ์ฝ”๋“œ (๋ฐฉํ–ฅ์ „ํ™˜)

ย  ย  {

ย  ย  ย  ย  Vector3 theScale = transform.localScale;

ย  ย  ย  ย  theScale.x *= -1;

ย  ย  ย  ย  transform.localScale = theScale;


ย  ย  ย  ย  //๋ฐ˜ํ–ฅ ๋ฐ˜์ „ 1 -> -1, ย  -1 -> 1

ย  ย  ย  ย  _isRightDir = !_isRightDir;

ย  ย  }

}