์ฒด๋ ฅ ๋ฐฑ๋ถ์จ์ ๋ฐ๋ผ์ ์์์ ๋ณ๊ฒฝํ๊ฒ ํ๋ ค๋๊ฑฐ ๋ง๋๋ ค๋ค ์ฒด๋ ฅ๋ฐ ๋ง๋๋ ๋ฐฉ์์ผ๋ก ๊ฐ๋ฅํ ๊น ์๊ฐํด์ ํ๋ฒ ์จ๋ดฃ๋๋ฐ ์๋จ. ใ ใ ย
๋ ผ๋ฆฌ์ ์ผ๋ก ๊ฐ๋ฅํ์ง ์๋? ๋ด ํ์ฌ ์ฒด๋ ฅ์ด๋ ์ด๋ฏธ์ง ์ปฌ๋ฌ๋ ๊ฐ์ float๊ฐ ์๋๋ผ์ ์๋๋?
private Image Image;
ย ย [SerializeField]
ย ย private float lerpSpeed = 1;
ย ย private float currentFill;
ย ย public float MyMaxValue { get; set; }
ย ย public float MyCurrentValue
ย ย {
ย ย ย ย get
ย ย ย ย {
ย ย ย ย ย ย return currentValue;
ย ย ย ย }
ย ย ย ย set
ย ย ย ย {
ย ย ย ย ย ย if (value > MyMaxValue) currentValue = MyMaxValue;
ย ย ย ย ย ย else if (value
ย ย ย ย ย ย else currentValue = value;
ย ย ย ย ย ย currentFill = currentValue / MyMaxValue;
ย ย ย ย }
ย ย }
ย ย private float currentValue;
ย ย void Start()
ย ย {
ย ย ย ย Image = GetComponent();
ย ย }
ย ย // Update is called once per frame
ย ย void Update()
ย ย {
ย ย ย ย if (currentFill != Image.fillAmount)
ย ย ย ย {
ย ย ย ย ย ย Image.color = Color.Lerp(Color.white, Color.red, Time.deltaTime * lerpSpeed);
ย ย ย ย }
ย ย }
ย ย public void Initialize(float currentValue, float maxValue)
ย ย {
ย ย ย ย MyMaxValue = maxValue;
ย ย ย ย MyCurrentValue = currentValue;
ย ย }
์ ์ ๋ํฐ์
์ฝ๋ ์ ๋๋ก ๋ณด์ง ์์๋๋ฐ ์ฌ๊ฐ ๋ดฃ์ฌ๋ Color.Lerp์ ์ธ๋ฒ์งธ ๋งค๊ฐ๋ณ์๊ฐ ๋ฌธ์ฌ์ธ๊ฐ ํ์คํจ๋ค
ํ๋ฆฌ์ฏ... ์ฒ์ฌ์ญ๋๋ค... ํ๋ฐฉ์ ๋จ ๊ทผ๋ฐ ์ฒ์ฒํ ๋ฐ๋๊ฒ ํ๊ณ ์ถ์๋ฐ ๋ฐ๋ก ๋ ๋๋ก ๊ฐ๋ค์ ํฐ์์์ ๋นจ๊ฐ์์ผ๋ก ๋ฐฑ๋ถ์จ์ ๋ฐ๋ผ ์์ด ๋ฐ๋๋๊ฑฐ ๊ฐ๋ฅ์ํ ๊น์?
์ด์ฝ๋๋ ์๋๋์?
Color.Lerp์ ์ธ๋ฒ์งธ ๋งค๊ฐ๋ณ์์ ์ ์ ํ ๊ฑธ ๋ฃ์ผ๋ฉด ๋ ๊ฒ์๋๋ค ๊ทธ ์ ์ ํ๊ฒ์ด ๋ฌด์์ธ์ง๋ฅผ ์ ๊ฐํด๋ณด๋๊ฑฐ์์ค์ค
๋ค! ์ผ์ธ!
์ผ์ธ ๋๋ถ์ ์์ฑํ์ต๋๋ค
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
๊ธ์ผ์ด ๋ด๋ด