일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- awk
- with
- sqlite
- DROP
- boost
- python
- conda
- dataframe
- postgresql
- Shader
- null
- pi
- 쉘
- pandas
- c++11
- mysql
- Unity
- sql
- SSH
- ngui
- 배열
- C++
- if
- List
- FIND
- SVN
- expect
- Eclipse
- autovacuum
- ubuntu
Archives
- Today
- Total
その先にあるもの…
OnEnable / OnDisable 본문
- 활성화, 비활성화
- 게임 오브젝트가 비활성화되면 GameObject.Find 및 GameObject.FindObjectWithTag 등의 함수로는 찾을 수 없게 됩니다.
이는 유니티 내부에서 활성화된 게임 오브젝트만 목록으로 관리하기 때문입니다.
- 게임 오브젝트가 비활성화되면 컴포넌트에서 동작하던 코루틴 함수들은 모두 자동으로 종료됩니다.
- 물체가 비활성화되면, 컴포넌트들의 실행은 중지되지만 데이터는 언제든지 바꿀 수 있습니다.
- Invoke와 Destroy의 시간 지연 명령은 게임 오브젝트가 비활성화되어도 중지되지 않습니다.
- 게임 오브젝트가 아닌 스크립트 컴포넌트를 활성화 비활성화하는 경우에도 동일하게 OnEnable/OnDisable 함수가 호출됩니다.
- 하지만 이상하게도 스크립트 컴포넌트를 비활성화하면 게임 오브젝트를 비활성화시키는 경우와 다르게 코루틴은 죽지않고 그대로 유지됩니다.
- 따라서 이 경우에는 특별히 OnDisable 함수에 StopCoroutine 함수를 명시해주어야 합니다.
void OnDisable()
{
StopCoroutine(state);
}
출처 : http://unitystudy.net/bbs/board.php?bo_table=dustin&wr_id=395
'프로그래밍 > Unity' 카테고리의 다른 글
NGUI Button Message (0) | 2014.05.23 |
---|---|
Fatal error in gc Too Many heap sections (0) | 2014.05.23 |
NGUI Label Screen Position (0) | 2014.05.20 |
Awake (0) | 2014.04.28 |
GameObject.Find() (0) | 2014.04.24 |
Comments