시간 출처 생성 (Create Time Source)
이 문서는 새로운 시간 출처(Time Source)를 생성하고, 이를 Target 변수에 저장하는 방법에 대해 설명합니다. 시간 출처에 대한 개요는 시간 출처 읽기(Read Time Sources)에서 확인할 수 있습니다. 이 기능은 time_source_create() 함수에 기반합니다. 인수에 대한 상세 정보는 해당 페이지를 참조하십시오.
새로 생성된 시간 출처를 활성화하려면 시작 시간 출처(Start Time Source)를 사용해야 하며, 더 이상 필요하지 않을 경우 파괴 시간 출처(Destroy Time Source)를 사용하여 시간 출처를 삭제해야 합니다.
행동 구문 (Action Syntax)
time_source_create(Target, Parent, Period, Units, Callback, Arguments, Repetitions, Expiry Type)
인수 설명 (Arguments)
| 인수 | 설명 |
|---|---|
| Target | 새로 생성된 시간 출처가 저장될 변수 |
| Parent | 부모 시간 출처: 내장된 시간 출처 또는 사용자 정의 시간 출처 |
| Period | 시간 출처의 주기 길이, 만료되기까지 걸리는 시간 |
| Units | 주기가 표현되는 단위 (초 또는 프레임) |
| Callback | 시간 출처가 만료될 때 호출될 메서드 또는 스크립트 함수 |
| Arguments | 선택 사항: 콜백 함수에 전달될 인수를 포함하는 배열 |
| Repetitions | 선택 사항: 시간 출처가 총 몇 번 실행될지 (무한 반복은 -1로 설정) |
| Expiry Type | 선택 사항: 시간 출처의 만료 유형 |
예제 (Example)
아래의 코드 블록은 다음과 같은 작업을 수행합니다:
- "Temp" 옵션이 활성화된 새로운 함수를 생성합니다. 이것은 로컬 메서드 변수를 만들어냅니다.
- 이 메서드는 하나의 인수
msg를 받아 이를 출력 로그에 인쇄합니다. - 새로운 시간 출처를 1초의 주기로 생성합니다.
callback_method변수를 "Callback"으로 지정하고, 함수에 대한 인수를 하나 포함하는 배열을 만듭니다.- "Repetitions"에 -1이 지정되어 있어 이 시간 출처는 무한히 반복됩니다.
- 시간 출처를 시작합니다.
아래는 예제 코드입니다:
function callback_method(msg) {
show_message(msg); // 출력 로그에 메세지 출력
}
var myTimeSource;
time_source_create(myTimeSource, undefined, 1, "seconds", callback_method, ["A second has passed!"], -1, undefined);
start_time_source(myTimeSource); // 시간 출처 시작
이 코드는 매초마다 "A second has passed!"를 출력 로그에 인쇄합니다.
활용 및 응용 예제
- 게임 내 타이머:
- 시간 출처를 사용하여 특정 이벤트에 대한 카운트다운을 구현할 수 있습니다. 예를 들어, 적의 출현을 10초 후로 설정할 수 있습니다.
- 애니메이션 효과:
- 시간 출처를 사용하여 특정 애니메이션 효과를 지연 구현할 수 있습니다. 예를 들어, 5초 뒤에 캐릭터가 점프하는 효과를 주기 위해 사용될 수 있습니다.
- 이벤트 트리거:
- 특정 시간에 이벤트를 트리거하기 위해 시간 출처를 활용할 수 있습니다. 예를 들어, 사용자가 1분 동안 대기했을 때 보상을 부여하도록 설정할 수 있습니다.
마무리
시간 출처를 생성하고 활용하는 방법에 대해 알아보았습니다. 이 기능을 통해 다양한 게임 디자인 및 애플리케이션에서의 시간 기반 로직을 쉽게 구현할 수 있습니다.