a04424ad2c06782ab47e5a67ee91766dc28ef1ecd2acc7ccbf10d2c253d5d3219a3e4586a3935d0b37abe2b1bd4a


a04424ad2c06782ab47e5a67ee91766dc28ef1ecd2acc7ccbf10d2c252d1d621d145cd8d872e7b2303844c154fd7


a04424ad2c06782ab47e5a67ee91766dc28ef1ecd2acc7ccbf10d2c15bd5df2105e513e6a15c564f2f005c43a5f6


a04424ad2c06782ab47e5a67ee91766dc28ef1ecd2acc7ccbf10d1c252d0d12186ecfa16425e3754572f58125202

์ด Rolling ์ด ์ „์—๋Š” Tirgger ๋ผ์„œ ๋ง‰ "EndRolling"์„ ๋”ฐ๋กœ ๋งŒ๋“ค๊ณ  ์‹ ํ˜ธ ๋ณด๋‚ด๋ฉด์„œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์กฐ์ ˆ ํ–ˆ๋Š”๋ฐ
์˜ค๋ฅ˜๊ฐ€ ๊ฐ€๋”์‹ ๋ฐœ์ƒํ•ด์„œ bool ๋ฐฉ์‹์œผ๋กœ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด๋ ค๊ณ  ํ•˜๊ฑฐ๋“  ๊ทธ๋Ÿฐ๋ฐ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ „ํ™˜์€ ์™„๋ฃŒํ–ˆ๋Š”๋ฐ
์• ๋‹ˆ๋ฉ”์ด์…˜ ์žฌ์ƒ์ด ์•ˆ๋จ ๋กœ๊ทธ ํ™•์ธ ํ•ด๋ด๋„ 0 ๊ณ ์ •์ด๊ณ  ์• ๋‹ˆ๋ฉ”์ด์…˜ ์†๋„๋„ 1์ž„

void StartRoll() // ์ŠคํŽ˜์ด์Šค๋ฐ”๋กœ ๊ตฌ๋ฅด๊ธฐ!

{

ย  ย  ย  ย  roll_cu_time = roll_time;

ย  ย  ย  ย  if (anim != null)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  anim.SetBool("Rolling", true);

ย  ย  ย  ย  }

ย  ย  ย  ย  isRolling = true; // ๊ตฌ๋ฅด๊ธฐ ์ƒํƒœ ํ™œ์„ฑํ™”

ย  ย  ย  ย  SoundManager.Instance.PlaySFX(Resources.Load<AudioClip>("ํšจ๊ณผ์Œ/๊ตฌ๋ฅด๊ธฐ"));

ย  ย  ย  ย  rollDirection = inputVec; // ๊ตฌ๋ฅด๊ธฐ ๋ฐฉํ–ฅ ์„ค์ •

ย  ย  }


void EndRoll()

{

ย  ย  ย  ย  if (PlayerPrefs.GetInt("PlayerE1") != 3 && PlayerPrefs.GetInt("PlayerE2") != 3)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  posture = "์Šคํƒ ๋”ฉ";

ย  ย  ย  ย  }

ย  ย  ย  ย  else

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  if (!Reloading) { posture = "์Šคํƒ ๋”ฉ"; }

ย  ย  ย  ย  }

ย  ย  ย  ย  isRolling = false; // ๊ตฌ๋ฅด๊ธฐ ์ƒํƒœ ํ•ด์ œ

StartCoroutine(ReduceRecoil());

ย  ย  ย  ย  anim.SetBool("Rolling", false);

}

void Update()

{

anim.speed = Anspeed; //์• ๋‹ˆ๋ฉ”์ด์…˜ ์†๋„ ์กฐ์ ˆ


ย  ย  ย  ย  if (isLive)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  AnimatorStateInfo stateInfo = anim.GetCurrentAnimatorStateInfo(0);

ย  ย  ย  ย  ย  ย  if (isRolling) // ๊ตฌ๋ฅด๊ธฐ ์ค‘

ย  ย  ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  ย  ย  Vector2 nextVec = rollDirection.normalized * speed * rollSpeedMultiplier * Time.fixedDeltaTime;

ย  ย  ย  ย  ย  ย  ย  ย  rigid.MovePosition(rigid.position + nextVec);


ย  ย  ย  ย  ย  ย  ย  ย  if (isRolling && stateInfo.IsName("Rolling_Player") && stateInfo.normalizedTime >= 1.0f) // ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋

ย  ย  ย  ย  ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  EndRoll(); // ๊ตฌ๋ฅด๊ธฐ ์ข…๋ฃŒ

ย  ย  ย  ย  ย  ย  ย  ย  }

ย  ย  ย  ย  ย  ย  }

ย  ย  ย  ย  ย }
}

์บก์ฑ 2