time_source_destroy 함수 설명
time_source_destroy
함수는 주어진 Time Source를 삭제하는 기능을 제공합니다. 이 함수는 선택적으로 해당 Time Source 아래에 있는 모든 자식 Time Source도 삭제할지 여부를 지정할 수 있습니다. 그러나 time_source_global
및 time_source_game
과 같은 내장 Time Source를 삭제하는 데는 사용할 수 없으며, 이들 아래의 모든 자식 Time Source를 삭제하려면 두 번째 인자인 destroy_tree
를 true
로 설정해야 합니다.
문법
time_source_destroy(id, [destroy_tree]);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
id | Time Source | 삭제할 Time Source의 ID |
destroy_tree | Boolean | (선택 사항) 자식 Time Source도 삭제할지 여부, 기본값은 false |
반환값
- N/A
예제
코드 예제 1: Time Source 생성 및 삭제
// 생성 이벤트
time_source = time_source_create(time_source_game, 1, time_source_units_seconds, my_method, [], -1);
// 정리 이벤트
time_source_destroy(time_source);
위의 코드는 새로운 Time Source를 생성하고, 인스턴스가 파괴될 때 해당 Time Source를 삭제합니다. 이 Time Source는 매 초마다 만료되며 무한히 반복됩니다.
코드 예제 2: 자식 Time Source 삭제
// 자식 Time Source 생성
child_time_source = time_source_create(time_source, 1, time_source_units_seconds, my_child_method, [], -1);
// 자식 Time Source와 함께 삭제
time_source_destroy(time_source, true);
이 예제에서는 부모 Time Source와 함께 자식 Time Source도 삭제합니다. destroy_tree
인수를 true
로 설정하여 자식 Time Source가 함께 삭제되도록 합니다.
코드 예제 3: 내장 Time Source 사용
// 내장 Time Source의 자식 Time Source 생성
child_time_source = time_source_create(time_source_game, 1, time_source_units_seconds, my_method, [], -1);
// 자식 Time Source 삭제
time_source_destroy(child_time_source, true);
이 코드는 내장 Time Source 아래에 자식 Time Source를 생성하고, 해당 자식 Time Source를 삭제합니다. 내장 Time Source 자체는 삭제할 수 없습니다.
활용 예제
- 게임 내 타이머 기능 구현
- 게임 내에서 특정 이벤트가 발생하는 주기를 설정하기 위해 Time Source를 사용하여 타이머를 구현할 수 있습니다.
- 애니메이션 효과
- 특정 시간 간격으로 애니메이션 효과를 반복하기 위해 Time Source를 활용할 수 있습니다.
- 게임 상태 관리
- 게임의 상태에 따라 Time Source를 생성하고 삭제하여, 특정 상태에서만 이벤트가 발생하도록 제어할 수 있습니다.
- AI 행동 패턴
- AI 캐릭터의 행동 패턴을 시간 기반으로 설정하여, 일정 시간마다 행동을 변경하도록 할 수 있습니다.