μ°νκ²μ proof of concept
using UnityEngine;
using UnityEngine.UI;
public class r35_SmashGameTest : MonoBehaviour
{
public float smashMax = 120f;
public float smashHit = 3;
public float smashLose = 1.2f;
public float smashGauge = 0;
public Image smashFill;
private Coroutine smashGame;
// Start is called before the first frame update
void Start()
{
smashGame = StartCoroutine(_SmashGame());
}
private bool doingSmash = false;
private void LateUpdate()
{
if (doingSmash)
{
if (Input.GetMouseButtonDown(0))
{
smashGauge += smashHit;
}
if (smashGauge < 0) smashGauge = 0;
smashFill.fillAmount = smashGauge / smashMax;
if (smashGauge >= smashMax)
{
doingSmash = false;
StopCoroutine(smashGame);
}
}
}
IEnumerator _SmashGame()
{
doingSmash = true;
while (true)
{
smashGauge -= smashLose;
yield return new WaitForSeconds(0.05f);
}
}
}
μ§μ§ κ°μ¬λ립λλ€... μ κ° λ무 λ¦κ² λ΄λ²λ Έλλ° μ§μ§ λ무 κ°μ¬λ립λλ€ γ γ ... λΆλ μ’μ ν μ£Όμ μμ λμκΈΈ λ°λΌλ©° μμΌλ‘ νμλ μΌλ€ λ€ λ²μ°½νμκΈΈ λ°λλλ€!! λ¬΄μ² κ°μ¬λ립λλ€!!
λ€μ μκΈμ μ½μ΄λ³΄λ "λ무 λλ¦¬κ² μ°νν΄λ, λ무 λΉ λ₯΄κ³ κ³Όλ€νκ² μ°νν΄λ μλκ³ " μ΄λ° λ΄μ©μ΄ μλ€μ, μ΄ κΈμ ꡬνμ μκ°κ°μ°μ μ§μνλ©΄μ μ μ κ° μ λ ₯ν λλ§λ€ λ¨μν κ°μ κ°μ°νλκ² μ λΆμ λλ€ μΆκ°μ μΌλ‘ λλ΅ 50~60 μ λμ ꡬκ°μ μ ν΄μ smashGauge κ° ν΄λΉ zone μ μλ€λ©΄ μ΄λΉ 1μ μ μ μλ₯Ό λΆμ¬νλ€λκ° νλ©΄ λμΆ© λΉμ·ν κ°κ°μ΄ λμ§μμκΉ... νκ³ λμΆ© μ μν΄λ΄ λλ€
νμΈμ΄ λ무 λ¦μ΄ μ£μ‘ν©λλ€ μΌ νλ©΄μ λ³΄κ³ μλ ν°λΌ μ μ μ΄ μμλ€μ... μ΄λ κ² μΉμ νκ² μ€λͺ ν΄μ£Όμ μ λ무 κ°μ¬λ릴 λ°λ¦μ΄μμ. μκΈ°κ° μκΈ°μΈλ§νΌ κ±΄κ° μ μνμκΈΈ λ°λλλ€! λ¬΄μ² κ°μ¬λ립λλ€.