[Cocos Creator] 생명주기 (Life Cycle)

2017. 11. 21. 11:47· Frontend/Cocos Creator
목차
  1. onLoad
  2. start
  3. update
  4. lateUpdate
  5. onEnable
  6. onDisable
  7. onDestroy

생명주기 Life cycle callback

코코스 크리에어터는 component 스크립트를 위한 life cycle 콜백함수를 제공합니다. 유저가 아래 명시된 콜백함수를 정의만 해놓으면 수동적으로 호출할 필요없이 생명주기에 따라 자동으로 호출됩니다.

현재, Creator에서 지원하는 생명주기 콜백함수:

  • onLoad
  • start
  • update
  • lateUpdate
  • onDestroy
  • onEnable
  • onDisable

onLoad

component script가 초기화 되는 단계에서, creator는 onLoad 콜백을 실행합니다. onLoad 콜백은 component가 처음 실행될 때 트리거 되죠. (Scene이 로드되거나, node가 실행되었을 때) onLoad 단계는 scene에 있는 다른 노드나 노드에 관련된 resource를 가져올 수 있게 보장해줍니다. onLoad는 항상 어떠한 start 함수들보다 먼저 실행됩니다. 일반적으로, 노드의 초기화 구문을 여기다 넣는 것을 권장합니다. 예를들어:

cc.Class({
  extends: cc.Component,

  properties: {
    bulletSprite: cc.SpriteFrame,
    gun: cc.Node,
  },

  onLoad: function () {
    this._bulletRect = this.bulletSprite.getRect();
    this.gun = cc.find('hand/weapon', this.node);
  },
});

start

start 콜백함수는 component 의 첫 실행시에만 트리거 됩니다. update의 첫 프레임 이전에 실행된다고 생각하면 됩니다. start 콜백은 일반적으로 update 동안 사용되는 변수를 초기화할 때 사용합니다.

cc.Class({
  extends: cc.Component,

  start: function () {
    this._timer = 0.0;
  },

  update: function (dt) {
    this._timer += dt;
    if ( this._timer >= 10.0 ) {
      console.log('I am done!');
      this.enabled = false;
    }
  },
});

update

게임에서 가장 중요한 것들 중 하나인 매 프레임마다 객체의 행동을 정의하거나 상태를 변경할 수 있는 update 콜백입니다.

cc.Class({
  extends: cc.Component,

  update: function (dt) {
    this.node.setPosition( 0.0, 40.0 * dt );
  }
});

lateUpdate

update는 모든 animation update 전에 실행됩니다. 하지만 우리가 animation 업데이트 이후에 뭔가를 실행하고 싶거나, 모든 컴포넌트들의 update가 끝나고 뭔가를 하고 싶다면 다음의 lateUpdate를 사용하세요.

cc.Class({
  extends: cc.Component,

  lateUpdate: function (dt) {
    this.node.rotation = 20;
  }
});

onEnable

컴포넌트가 달린 node의 active 프로퍼티가 false에서 true가 될 때나, 컴포넌트의 enabled 프로퍼티가 false에서 true가 될 때, onEnable 콜백은 트리거 됩니다. 만약 node가 처음 만들어졌고, enabled가 true라면, onLoad 이후에 하지만 onStart 이전에 onEnable 콜백은 실행될 것 입니다.

onDisable

컴포넌트가 달린 node의 active 프로퍼티가 true에서 false가 될 때나, 컴포넌트의 enabled 프로퍼티가  true에서 false가 될 때, onEnable 콜백은 트리거 됩니다.

onDestroy

component나 node가 destroy() 호출했을 때, onDestroy 콜백은 트리거 됩니다. destroy가 호출된 프레임이 끝나게 되면 실행됩니다.


반응형
저작자표시 (새창열림)

'Frontend > Cocos Creator' 카테고리의 다른 글

[Cocos Creator] ScrollView 개념 및 사용 예시  (2) 2018.01.29
[Cocos Creator] Decorator 사용하기  (0) 2018.01.04
[Cocos Creator] cc.Class 파헤치기  (0) 2017.11.21
[Cocos Creator Animation] 1. Animation에 대하여  (0) 2017.10.27
[Cocos Creator 강좌] RichText 사용하기  (0) 2017.10.19
[Cocos Creator 강좌] Label에 Dynamic Font 적용하기  (0) 2017.10.19
  1. onLoad
  2. start
  3. update
  4. lateUpdate
  5. onEnable
  6. onDisable
  7. onDestroy
'Frontend/Cocos Creator' 카테고리의 다른 글
  • [Cocos Creator] Decorator 사용하기
  • [Cocos Creator] cc.Class 파헤치기
  • [Cocos Creator Animation] 1. Animation에 대하여
  • [Cocos Creator 강좌] RichText 사용하기
에반황
에반황
"어른이면서 애이기도 하고 싶다."
에반, 어른반"어른이면서 애이기도 하고 싶다."
에반황
에반, 어른반
에반황
전체
오늘
어제
  • 전체보기 (118)
    • About (1)
    • Backend (5)
      • Django (3)
      • Spring (2)
    • Database (2)
      • 아키텍처 (0)
      • SQL (0)
      • Redis (2)
      • 코딩 테스트 (0)
      • 요구 사항 해결 (0)
    • Infra, Cloud (0)
      • AWS (0)
      • GoCD (0)
      • Docker (0)
      • Kubernetes (0)
      • Mesos Marathon (0)
    • Basic (34)
      • C (1)
      • C# (4)
      • C++ (1)
      • Java (9)
      • Javascript (6)
      • Typescript (5)
      • GO (0)
      • Python (4)
      • 프로그래밍 기초 (1)
      • 게임 디자인 패턴 (1)
      • 운영체제 (0)
      • 알고리즘 (2)
      • 자료구조 (0)
    • Computer Science (0)
    • Frontend (74)
      • Swift (1)
      • Unity (31)
      • Android (13)
      • Vue.js (2)
      • Phaser (1)
      • Cocos2D JS (2)
      • Cocos Creator (16)
      • Facebook Instant Game (8)
반응형

인기 글

최근 댓글

hELLO · Designed By 정상우.v4.2.2
에반황
[Cocos Creator] 생명주기 (Life Cycle)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.