250x250
Rainbow🌈Coder
My dev NoteπŸ“’
Rainbow🌈Coder
전체 방문자
였늘
μ–΄μ œ
  • λΆ„λ₯˜ 전체보기 (411)
    • 곡지사항 (0)
    • Debugger (10)
      • Visual Studio Debugger (1)
      • Chrome DevTools (3)
      • Visual Studio Code Debugger (4)
      • eclipse (1)
      • intelliJ (1)
    • OOP (2)
      • OOP (2)
    • TypeScript (54)
      • νƒ€μž…μŠ€ν¬λ¦½νŠΈ TypeScript (54)
    • Javascript (87)
      • Javascript (45)
      • Node.js (19)
      • React (5)
      • FE κ°œλ°œν™˜κ²½μ„€μ • (3)
      • React와 Node 같이 λ•Œλ €μž‘κΈ° (6)
      • next.js (2)
      • pixi.js (7)
    • λ§ˆν¬μ—… (23)
      • Html & Css (23)
    • C# (80)
      • C# (12)
      • 이것이 C#이닀 (68)
    • C++ (30)
      • c++ (27)
      • win api (3)
    • Unity (18)
      • Unity(기초) (8)
      • Unity(C#쀑급) (5)
      • μœ λ‹ˆν‹° 포톀(λ„€νŠΈμ›Œν¬) (4)
      • unity c# MyCode (1)
    • Java & Spring (29)
      • Java (11)
      • μŠ€ν”„λ§ (8)
      • Java Algorithm (9)
      • Javs Data Structures (1)
    • μžλ£Œκ΅¬μ‘°μ™€ μ•Œκ³ λ¦¬μ¦˜ (15)
      • 자료ꡬ쑰 (5)
      • μ•Œκ³ λ¦¬μ¦˜ (10)
    • ν˜•μƒκ΄€λ¦¬ (15)
      • Git (11)
      • μ†ŒμŠ€νŠΈλ¦¬ (3)
    • κ·Έλž˜ν”½μŠ€ (7)
      • WebGl (7)
    • AWS (3)
      • aws (3)
    • λ¦¬λˆ…μŠ€ (5)
      • λ¦¬λˆ…μŠ€ (5)
    • μ±… 리뷰 (13)
      • ν΄λ¦°μ½”λ“œ(책리뷰) (3)
      • μœ μ§€λ³΄μˆ˜κ°€λŠ₯ν•œμ½”λ”©μ˜κΈ°μˆ C#편(책리뷰) (1)
      • λ¦¬νŒ©ν† λ§(μžλ°”μŠ€ν¬λ¦½νŠΈνŒ) (9)
    • Server (2)
      • κ²Œμž„ μ„œλ²„(λ„€νŠΈμ›Œν¬, λ©€ν‹°μ“°λ ˆλ“œ,OS) (2)
    • 섀계, 아킀텍쳐 (4)
    • 파이썬 (5)
    • λ””μžμΈνŒ¨ν„΄ (2)
    • mocha (2)
    • Jest (1)
    • Spine (1)
    • 인곡지λŠ₯ (1)
      • ν˜Όμžκ³΅λΆ€ν•˜λŠ”λ¨Έμ‹ λŸ¬λ‹+λ”₯λŸ¬λ‹ (1)

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • νƒœκ·Έ
  • λ°©λͺ…둝

곡지사항

인기 κΈ€

νƒœκ·Έ

  • μœ„μž„
  • MySQL
  • μ»΄ν¬μ§€μ…˜
  • γ…£γ„·

졜근 λŒ“κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

hELLO Β· Designed By μ •μƒμš°.
Rainbow🌈Coder

My dev NoteπŸ“’

Unity/Unity(기초)

μœ λ‹ˆν‹° 코루틴 Coroutine

2021. 5. 19. 12:01
728x90

*개인 ν•™μŠ΅μ„ μœ„ν•œ ν¬μŠ€νŒ…μž…λ‹ˆλ‹€.*

코루틴(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() ν•¨μˆ˜μ— 쒅속적이지 μ•ŠμœΌλ©° 마치 λ³„λ„μ˜ μ“°λ ˆλ“œμ™€ 같이 λ™μž‘ν•œλ‹€.


 

728x90

'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
    'Unity/Unity(기초)' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • μœ λ‹ˆν‹° Quaternion
    • [μœ λ‹ˆν‹°] get set ν”„λ‘œνΌν‹° Property(속성)
    • [μœ λ‹ˆν‹°] Debug.Log와 Debug.LogFormat ν™œμš©. μ–΄λ–€ 것을 μ¨μ•Όν• κΉŒ?
    • μœ λ‹ˆν‹° SetSprite
    Rainbow🌈Coder
    Rainbow🌈Coder
    λͺ°λΌλ„ 결ꡭ은 μ•„λŠ” 개발자, 그런 μ‚¬λžŒμ΄ 되기 μœ„ν•œ 맀일의 ν•œκ±ΈμŒ

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”