게임 개발/Cocos Creator

[cocos-creator]-02. LifeCycle정리

Heesuk Lee 2018. 10. 9. 15:32

이번에는 코코스 크리에이터에서 말하는 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들을 꺼줄때 사용합니다.



아래는 제가 순서를 확인하기위해 작성한 스크립트입니다. 이렇게 하면 위의 사진처럼 콘솔로그가 찍히는것을 확인하실 수 있습니다.





반응형