*κ°μΈ νμ΅μ μν ν¬μ€ν μ λλ€.*
μ½λ£¨ν΄(Coroutine)
μ μ°¨μ μ λλ©μ΄μ ν¨κ³Όλ₯Ό μ£Όκ³ μΆμ λ μ¬μ©ν μ μλ€.
<Update()λ¬Έ vs μ½λ£¨ν΄(Coroutine)>
Update()λ¬Έμ ν νλ μμ νλ²μ© νΈμΆλλ ν¨μλΌλ©΄
(κ²μ νλ μ 1μ΄μ 60νλ μμ΄ λμ¨λ€λ©΄ 1μ΄μ 60λ²λλ 격μΌλ‘ νλ² λλ κ°κ²©μ΄ 60λΆμ 1μ΄, 80fpsλΌλ©΄ 80λ² νΈμΆ)
μ½λ£¨ν΄(Coroutine)μ μ λ°μ΄νΈλ¬Έ λ΄μ λΈννμ μ μ© λμ μ
νλ μκ³Ό μκ΄μμ΄ λ³λμ μλΈ λ£¨ν΄μμ μνλ μμ
μ μνλ μκ°λ§νΌ μνν μ μλλ‘ μ€μ κ°λ₯νλ€.
μ΄λ₯Όν λ©΄, μμν ν¬λͺ ν΄μ§λ ν¨κ³Όλ₯Ό μ£Όκ³ μΆμ λ updateλ¬Έ μμμ λ‘μ§μ λ§λ€λ©΄1μ΄λ λμ§ μμ 60νλ μ κ°κΉμ΄ λ°λ³΅νκΈ° λλ¬Έμ μμκ°μ ν¬λͺ ν΄μ§λ λΆμμ¬κ° μκΈ°λλ°μ΄λ΄λλ μ½λ£¨ν΄μ μ¬μ©νλ κ²μ΄ μ 리νλ€.
<νΉμ§>
- IEnumerator νμμ λ°νκ°μΌλ‘ κ°μ§
- yield return ꡬ문μ μ΄λμκ° ν¬ν¨νκ³ μμ΄μΌ ν¨.
- yield return νμ μ€νμ μ€μ§νκ³ λ€μ νλ μμμ μ€νμ μ¬κ°ν μ μλ μ§μ
- μ½λ£¨ν΄μ μ€ννλ €λ©΄ StartCoroutine ν¨μλ₯Ό μ¬μ©
- κΈ°λ³Έμ μΌλ‘ μ½λ£¨ν΄μ yield ν μ§νμ νλ μμμ μ¬κ°λμ§λ§, μ§μ°νλ€κ° λ€μ μμνλ €λ©΄ WaitForSeconds ν¨μλ₯Ό μ¬μ©
<μμ μ ν΄μ€>
IEnumerator FadeOut() {
Color color = spriteRenderer.color;
while (color.a > 0.0f) {
color.a -= 0.1f;
spriteRenderer.color = color;
yield return new WaitForSeconds(0.1f);//0.1μ΄ λμ μ μ λ©μΆ°λΌ
}
}
}
μμ μ½λλ₯Ό ν΅ν΄μ νμ΄λ μμ ν¨κ³Όλ 0.1μ΄μ© 10λ²μ μννλ©° 1μ΄λμ μ¬λΌμ§λ ν¨κ³Όλ₯Ό 보μ¬μ€λ€.
μ΄μκ°μ μ½λ£¨ν΄μ Update() ν¨μμ μ’ μμ μ΄μ§ μμΌλ©° λ§μΉ λ³λμ μ°λ λμ κ°μ΄ λμνλ€.
'Unity > Unity(κΈ°μ΄)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
unity μνμ’μ° μ½λ 2κ°μ§ Input.GetKey vs Input.GetAxis κ·Έλ¦¬κ³ Translate() ν¨μμ νμ© (0) | 2021.08.12 |
---|---|
μ λν° Quaternion (0) | 2021.06.05 |
[μ λν°] get set νλ‘νΌν° Property(μμ±) (0) | 2021.05.23 |
[μ λν°] Debug.Logμ Debug.LogFormat νμ©. μ΄λ€ κ²μ μ¨μΌν κΉ? (0) | 2021.05.22 |
μ λν° SetSprite (0) | 2021.05.19 |