For the complete documentation index, see llms.txt. This page is also available as Markdown.

Lifecycle

μ†Œκ°œ

앱이 μ‹œμž‘λ˜μ–΄, μ‹€ν–‰λ˜κ³  μ’…λ£Œλ  λ•ŒκΉŒμ§€λ₯Ό ν•˜λ‚˜μ˜ 생애 μ£ΌκΈ°(Lifecycle)라고 ν•©λ‹ˆλ‹€. κ΄€λ ¨ ν•¨μˆ˜λ“€μ„ μ΄μš©ν•˜μ—¬ 앱이 μ‹œμž‘λ  λ•Œ, μ‹€ν–‰ 쀑일 λ•Œ 그리고 μ’…λ£Œλ  λ•Œ λ“±μ˜ μƒν™©μ—μ„œ ν•„μš”ν•œ λ™μž‘λ“€μ„ μ‹€ν–‰ν•΄ 전체적인 μ•±μ˜ 생애주기λ₯Ό λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.

이름
μ„€λͺ…

onInit

App이 졜초둜 μ‹œμž‘λ  λ•Œ ν•œ 번 ν˜ΈμΆœλ˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

onJoinPlayer

onInit이 호좜된 ν›„, 접속해 μžˆλŠ” λͺ¨λ“  ν”Œλ ˆμ΄μ–΄λ₯Ό ν•΄λ‹Ή 이벀트λ₯Ό 톡해 μž…μž₯ μ‹œν‚€κ³ , 이후 μž…μž₯ν•˜λŠ” ν”Œλ ˆμ΄μ–΄κ°€ μžˆμ„ λ•Œ λ§ˆλ‹€ λ™μž‘ν•©λ‹ˆλ‹€.

onStart

λͺ¨λ“  ν”Œλ ˆμ΄μ–΄κ°€ onJoinPlayerλ₯Ό 톡해 μž…μž₯ν•œ ν›„ ν•œ 번 호좜 λ©λ‹ˆλ‹€.

onUpdate

μ•½ 20ms λ§ˆλ‹€ 주기적으둜 μ‹€ν–‰λ˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

onLeavePlayer

퇴μž₯ν•˜λŠ” ν”Œλ ˆμ΄μ–΄κ°€ μžˆμ„ λ•Œ λ§ˆλ‹€ λ™μž‘ν•©λ‹ˆλ‹€. 이후, λ‹€λ₯Έ App이 μ‹€ν–‰λ˜κ±°λ‚˜ μ„€μΉ˜ν•œ Game Block이 파괴될 λ•Œ λͺ¨λ“  ν”Œλ ˆμ΄μ–΄λ₯Ό 이 ν•¨μˆ˜λ₯Ό 톡해 퇴μž₯μ‹œν‚΅λ‹ˆλ‹€.

onDestroy

λ‹€λ₯Έ App이 μ‹€ν–‰λ˜κ±°λ‚˜ μ„€μΉ˜ν•œ Game Block이 파괴될 λ•Œ λ™μž‘ν•©λ‹ˆλ‹€.

App 생애 μ£ΌκΈ°(Lifecycle) μ΄ν•΄ν•˜κΈ°

Lifecycle ν•¨μˆ˜λ“€μ€ 생애 주기에 맞게 κΈ°λŠ₯을 λ§Œλ“€ 수 μžˆλŠ” ν•„μˆ˜μ μΈ ν•¨μˆ˜μž…λ‹ˆλ‹€. μ•„λž˜ κ·Έλ¦Όκ³Ό 같이 앱이 싀행될 λ•ŒλŠ” Enter λ‹¨κ³„μ˜ ν•¨μˆ˜λ“€μ΄ λ™μž‘ν•˜κ³ , 앱이 μ‹€ν–‰ 쀑 μΌλ•ŒλŠ” Update λ‹¨κ³„μ˜ ν•¨μˆ˜λ“€μ΄ 주기적으둜 λ™μž‘ν•˜λ©°, 앱이 μ’…λ£Œλ  λ•ŒλŠ” Exit λ‹¨κ³„μ˜ ν•¨μˆ˜λ“€μ΄ λ™μž‘ν•˜κ²Œλ©λ‹ˆλ‹€.

앱이 μ‹€ν–‰λ˜μ–΄ μ’…λ£Œλ  λ•Œ κΉŒμ§€ 각 λ‹¨κ³„μ˜ ν•¨μˆ˜λ“€μ„ 잘 ν™œμš©ν•΄ 생애 주기에 맞게 App을 λ§Œλ“€μ–΄λ³΄μ„Έμš”.

Lifecycle ν•¨μˆ˜ ν•œ λˆˆμ— 보기

1️⃣ Enter 단계 ν•¨μˆ˜

App의 μ‹€ν–‰κ³Ό ν•¨κ»˜ ν˜ΈμΆœλ˜λŠ” 라이프사이클 Enter λ‹¨κ³„μ—μ„œ ν˜ΈμΆœλ˜λŠ” ν•¨μˆ˜λ₯Ό μ•ˆλ‚΄ν•©λ‹ˆλ‹€.

onInit

App.onInit.Add(function(){})

App이 졜초둜 μ‹œμž‘λ  λ•Œ ν•œ 번 ν˜ΈμΆœλ©λ‹ˆλ‹€.

νŒŒλΌλ―Έν„°

  • μ—†μŒ

예제

onInit μ—μ„œ μ±„νŒ… 좜λ ₯해보기. ( λ―Έλ‹ˆκ²Œμž„μœΌλ‘œ λ§Œλ“€μ–΄ ν™•μΈν•΄λ³΄μ„Έμš”. )

onJoinPlayer

App.onJoinPlayer.Add(function(player){})

onInit이 호좜된 ν›„, 접속해 μžˆλŠ” λͺ¨λ“  ν”Œλ ˆμ΄μ–΄λ₯Ό ν•΄λ‹Ή 이벀트λ₯Ό 톡해 μž…μž₯μ‹œν‚€κ³ , 이후 μž…μž₯ν•˜λŠ” ν”Œλ ˆμ΄μ–΄κ°€ μžˆμ„ λ•Œ λ§ˆλ‹€ λ™μž‘ν•©λ‹ˆλ‹€.

νŒŒλΌλ―Έν„°

이름
νƒ€μž…
μ„€λͺ…

player

Player

playerλŠ” μž…μž₯ν•˜λŠ” ν”Œλ ˆμ΄μ–΄λ₯Ό κ°€λ₯΄ν‚΄ νŒŒλΌλ―Έν„°μ˜ 이름은 μž„μ˜λ‘œ λ³€κ²½κ°€λŠ₯

μ˜ˆμ‹œ

ν”Œλ ˆμ΄μ–΄ μž…μž₯μ‹œ λ©”μ‹œμ§€ 좜λ ₯해보기

onStart

App.onStart.Add(function(){})

λͺ¨λ“  ν”Œλ ˆμ΄μ–΄κ°€ onJoinPlayerλ₯Ό 톡해 μž…μž₯ν•œ ν›„ ν•œ 번 호좜 λ©λ‹ˆλ‹€.

νŒŒλΌλ―Έν„°

  • μ—†μŒ

예제

onStartμ—μ„œ μ±„νŒ… 좜λ ₯해보기 ( λ―Έλ‹ˆκ²Œμž„μœΌλ‘œ λ§Œλ“€μ–΄ ν™•μΈν•΄λ³΄μ„Έμš”. )

Enter 단계 ν•¨μˆ˜μ˜ 흐름 μ΄ν•΄ν•˜κΈ°

Lifecycle Enter λ‹¨κ³„μ˜ 흐름을 μ½”λ“œλ‘œ ν™•μΈν•΄λ³΄μ„Έμš”. μ•„λž˜ μ½”λ“œλ₯Ό λ―Έλ‹ˆκ²Œμž„μœΌλ‘œ λ§Œλ“€μ–΄ μ‹€ν–‰ν•΄λ³΄μ„Έμš”!

Enter 단계 ν•¨μˆ˜λ“€μ΄ μˆœμ„œλŒ€λ‘œ λ™μž‘ν•˜λŠ” λͺ¨μŠ΅.

2️⃣ Update

Updateμ—λŠ” μ•½ 20ms λ§ˆλ‹€ 주기적으둜 μ‹€ν–‰λ˜λŠ” ν•¨μˆ˜ onUpdateκ°€ μžˆμŠ΅λ‹ˆλ‹€.

onJoinPlayer, onLeavePlayer λ“±μ˜ μ΄λ²€νŠΈκ°€ λ°œμƒν•˜λ©΄ ν•΄λ‹Ή 이벀트 처리 ν›„ λ‹€μ‹œ onUpdateκ°€ 주기적으둜 μ‹€ν–‰λ©λ‹ˆλ‹€.

onUpdate

App.onUpdate.Add(function(dt){})

μ•½ 20ms λ§ˆλ‹€ 주기적으둜 μ‹€ν–‰λ˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

νŒŒλΌλ―Έν„°

이름
νƒ€μž…
μ„€λͺ…

dt

Number

deltatime (μ „ ν”„λ ˆμž„μ΄ μ™„λ£Œλ˜κΈ°κΉŒμ§€ κ±Έλ¦° μ‹œκ°„, μ•½ 20ms) dt νŒŒλΌλ―Έν„°μ˜ 이름은 μž„μ˜λ‘œ λ³€κ²½ κ°€λŠ₯

μ˜ˆμ‹œ

onUpdate ν•¨μˆ˜λ₯Ό μ΄μš©ν•΄ 10초 μΉ΄μš΄νŠΈλ‹€μš΄ λ§Œλ“€μ–΄λ³΄κΈ°

3️⃣ Exit 단계 ν•¨μˆ˜

앱이 μ’…λ£Œλ  λ•Œ μ‹€ν–‰λ˜λŠ” ν•¨μˆ˜ μž…λ‹ˆλ‹€.

onLeavePlayer

App.onLeavePlayer.Add(function(player){})

퇴μž₯ν•˜λŠ” ν”Œλ ˆμ΄μ–΄κ°€ μžˆμ„ λ•Œ λ§ˆλ‹€ λ™μž‘ν•©λ‹ˆλ‹€. 이후, λ‹€λ₯Έ App이 μ‹€ν–‰λ˜κ±°λ‚˜ μ„€μΉ˜ν•œ Game Block이 파괴될 λ•Œ λͺ¨λ“  ν”Œλ ˆμ΄μ–΄λ₯Ό 이 ν•¨μˆ˜λ₯Ό 톡해 퇴μž₯μ‹œν‚΅λ‹ˆλ‹€.

νŒŒλΌλ―Έν„°

이름
νƒ€μž…
μ„€λͺ…

player

Player

player νŒŒλΌλ―Έν„°λŠ” 퇴μž₯ν•˜λŠ” ν”Œλ ˆμ΄μ–΄λ₯Ό κ°€λ₯΄ν‚΄ player νŒŒλΌλ―Έν„°μ˜ 이름은 μž„μ˜λ‘œ λ³€κ²½ κ°€λŠ₯

μ˜ˆμ‹œ

ν”Œλ ˆμ΄μ–΄ 퇴μž₯ μ‹œ λ©”μ‹œμ§€ 좜λ ₯해보기

onDestroy

App.onDestroy.Add(function(){})

λ‹€λ₯Έ App이 μ‹€ν–‰λ˜κ±°λ‚˜, μ„€μΉ˜ν•œ Game Block이 파괴될 λ•Œ λ™μž‘ν•©λ‹ˆλ‹€.

νŒŒλΌλ―Έν„°

  • μ—†μŒ

예제

Game Block 파괴 μ‹œ λ©”μ‹œμ§€ 좜λ ₯해보기 ( λ―Έλ‹ˆκ²Œμž„ )

Last updated

Was this helpful?