์๋ฅผ ๋ค์ด ๋ฆฌ๋ฌ๊ฒ์์ ๊ฒฐ๊ณผ ํ๋ฉด์์ ์ ์, ์ฝค๋ณด, ์ ํ๋, ํ์ ๊ฐ์ ๋ฑ๋ฑ์ Lerp๋ฅผ ํตํด ์ต์ข ๊ฐ๊น์ง ์ ์ฐจ ๋๋ฌํ๋๋ก ํ๋ค๊ฑฐ๋,
์ด ํ ์คํธ๋ค์ ํฌ๋ช ๋๋ฅผ ์ ์ฐจ ๋์ด๋๋๋ก ํ๋ค๊ฑฐ๋ ํ๋๊ฑธ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด ํ๋์ฝ๋ฉ ๋ง๊ณค ๋ต์ด์์?
ย ย ย ย t = 0;
ย ย ย ย while (t <= 1)
ย ย ย ย {
ย ย ย ย ย ย t += Time.deltaTime / 1;
ย ย ย ย ย ย cover.color = Color.Lerp(black, none, t);
ย ย ย ย ย ย float alpha = Mathf.Lerp(0, 1, t);
ย ย ย ย ย ย score.color = SetColorAlpha(score.color, alpha);
ย ย ย ย ย ย combo.color = SetColorAlpha(combo.color, alpha);
ย ย ย ย ย ย accuracy.color = SetColorAlpha(accuracy.color, alpha);
ย ย ย ย ย ย perfect.color = SetColorAlpha(perfect.color, alpha);
ย ย ย ย ย ย good.color = SetColorAlpha(good.color, alpha);
ย ย ย ย ย ย miss.color = SetColorAlpha(miss.color, alpha);
ย ย ย ย ย ย for (int i = 0; i < textArr.Length; ++i)
ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย textArr[i].color = SetColorAlpha(textArr[i].color, alpha);
ย ย ย ย ย ย }
ย ย ย ย ย ย score.text = Mathf.Lerp(0, GameInfo.S.score, t * t).ToString("f0");
ย ย ย ย ย ย perfect.text = Mathf.Lerp(0, GameInfo.S.perfect, t * t).ToString("f0");
ย ย ย ย ย ย good.text = Mathf.Lerp(0, GameInfo.S.good, t * t).ToString("f0");
ย ย ย ย ย ย miss.text = Mathf.Lerp(0, missCount, t * t).ToString("f0");
ย ย ย ย ย ย combo.text = Mathf.Lerp(0, GameInfo.S.maxCombo, t * t).ToString("f0");
ย ย ย ย ย ย accuracy.text = Mathf.Lerp(0, acc, t * t).ToString("f2") + "%";
ย ย ย ย ย ย yield return null;
ย ย ย ย }
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
์ ๊ฒ ์ฝ๋ฃจํด์ ๋ค์ด๊ฐ ๋ด์ฉ์ ๋ค๋ฃ๊ธฐ์ ์ธ๋ฐ์๋๊ฒ ์์ด์ ์๋ฃ์์
๋ํธ์๋ํ ๋ต์ ์๊ณ ์๋ค
์ค ์ฌ๋ฐ ๋ญ์ ์ด๊ฑฐ ๋ญ๊ฐ ๋ ๊ฑฐ๊ฐ์ ์ฐพ์๋ณผ๊ฒ ใณ
Dotween ๊น๊ณ DoFade๋ก ํ์ค์ปฝํ์
ในใ ์กด๋ํธ์ ใ ใ ใ
์ฐ์ถ์ ์ฐ์ถ์ ๊ด๋ จ๋ ํ๋ฌ๊ทธ์ธ์ด ๋ง์ผ๋ ๊ทธ๊ฑธ ์ฌ์ฉํ์๊ธธ ๋ฐ๋๋๋ค
์ฝ๊ฒ ์์ ํ๊ฒ ํด์ฃผ๋ ๋๊ตฌ๋ค์ ์์ด๋ ๊ธฐ๋ณธ์ ๋ ธ๊ฐ๋ค. ์ ๋๊ฒ ๊ฐ๋ฐํ๋ ๊ฐ๋ฐ์๋ค์ด ๊ฐ๋ฐ ๊ด๋๋๊ฒ UI ๊ฑด๋ค๋ฉด์๋ถํฐ์
UI์ฝ๋ฉ ๋ง๊น๋๊ฒ ํด์ฃผ๊ณ ๋์ค๋ ์์ต์ 10% ๊ฐ์ ธ๊ฐ๋ค๊ณ ํ๋ฉด ๊ณ์ฝ์ ์์ฑํ ๋ง์ ์๋
์ ๋๋ฉ์ด์ ์ฐ์ - dc App
๋๋ ๋ต์ ์๊ณ ์๋ค.