이번에는 코코스 크리에이터에서 말하는 LifiCycle이 무엇인지 알아보려고 합니다.
LifeCycle 즉 생명주기란 게임내에서 하나의 노드가 생성되고 그리고 삭제되기까지를 말하며
코코스 크리에이터는 그에 따른 자동으로 호출하는 콜백함수들을 제공해 사용할수있게 해줍니다.
아래는 모두 스크립트에 작성했을시 방문하는 순서를 확인한것이고 다음으로 각 콜백함수들을 정리해봤습니다.
1. onLoad()
- 씬이 로드되고 노드가 생성되는 가장 처음에 스크립트내에서 단 한번만 호출하는 콜백함수입니다.
일반적으로 여기서 초기화를 해주시면 됩니다.
2. onEnable()
- 노드의 active가 활성화될때마다 호출되는 콜백함수입니다. 물론 씬이 로드되고 이노드가 활성화되어있다면 실행됩니다. 주로 노드의 활성화를 켜주고꺼줄때마다 초기화해줄때 사용합니다.
3. start()
- 노드가 생성되고 update가 시작되기 직전에 단한번 호출되는 콜백함수입니다. update에서 사용될 정보의 초기화에 사용합니다만 주로 사용하진 않는것 같습니다.
4. update()
- 노드가 생성되고 매프레임마다 호출해주는 콜백함수입니다. 매우 중요한 함수인것이 매프레임마다 호출되기때문에 사용을 남용하는것은 좋지 않습니다.
5. lateUpdate()
- update함수가 실행되고난뒤에 실행되는 콜백함수로써 update가 끝나면 애니메이션 프레임이 실행되고 그뒤에 lateupdate가 실행됩니다.
6. onDisable()
- 노드의 active가 비활성화 되었을때 호출되는 콜백함수입니다. 마찬가지로 노드가 삭제될때 혹은 씬이 종료될때 실행될 수 있습니다. 주로 onEnable에서 초기화한 정보를 clear할때 사용합니다.
7. onDestroy()
- 노드가 완전히 노드트리에서 지워질때, 즉 삭제될때 실행되는 콜백함수입니다. 주로 onLoad에서 초기화한 정보들 혹은 계속실행되고있는 Schedule이나 Action, Event들을 꺼줄때 사용합니다.
아래는 제가 순서를 확인하기위해 작성한 스크립트입니다. 이렇게 하면 위의 사진처럼 콘솔로그가 찍히는것을 확인하실 수 있습니다.
'게임 개발 > Cocos Creator' 카테고리의 다른 글
[cocos creator]-03. scheduler에 대한 정리 (0) | 2018.10.14 |
---|---|
[cocos-creator]-01. NodePool에 관한 정리 (0) | 2018.09.29 |