Unity. μ½λ£¨ν΄(Coroutine)
π Coroutine
μ½λ£¨ν΄μ λ°νκ°μ ν΅ν΄ μ€νμ μ€μ§ν΄μ Unityμκ² μ μ΄κΆμ λλ €μ£Όκ³ , κ³μν λλ λ€μ νλ μμμ μ€μ§ν κ³³λΆν° μ€νμ κ³μνλ νλλ€. μ½λ£¨ν°λ λλΆλΆ λ°νκ°μΌλ‘ νΉμ μκ°μ κΈ°λ€λ¦΄ μ μκ² μ¬μ©ν¨!
π μ¬μ©λ²
public static GameManager instance = null;
void Awake()
{
StartCoroutine(Fade());
}
IEnumerator Fade()
{
for (float f = 1f; f >= 0; f -= 0.1f)
{
Color c = renderer.material.color; //ν΄λΉ κ²μ μ€λΈμ νΈμ 컬λ¬
c.a = f; //ν¬λͺ
λ μ‘°μ
renderer.material.color = c; //μ‘°μ ν ν¬λͺ
λλ₯Ό κ²μ μ€λΈμ νΈμκ² μμ
yield return new WaitForSeconds(0.1f); //0.1μ΄ κΈ°λ€λ¦Ό
}
}
μ μ½λλ κ²μ μ€λΈμ νΈμ λ°κΈ°λ₯Ό μ‘°μ νλ ν¨μλ‘ μ½λ£¨ν΄μ μ¬μ©ν΄μ λͺ μ΄ λμ μ¬λΌμ§κ² ν μ§ μ ν μ μκ² νλ€. μ½λ£¨ν΄μ StartCoroutine()
ν¨μλ₯Ό ν΅ν΄ μμνλ©°, StartCoroutine()
μ μ¬μ©νλ λ°©λ²μλ λ κ°μ§κ° μλλ° μ μ½λμ²λΌ μ¬μ©ν μλ μκ³ , StartCoroutine("Fade")
μ΄λ° μμΌλ‘ μ¬μ©ν μλ μλ€. λ¬Έμμ΄ λ²μ μ μ½λ£¨ν΄μ μ€κ°μ λ©μΆ μ μμ§λ§, λ λμ λ°νμ μ€λ² ν€λλ₯Ό κ°μ§λ©° νλμ λ§€κ° λ³μλ§ μ¬μ©ν μ μλ€.
λκΈλ¨κΈ°κΈ°