시간 소스 재구성 (time_source_reconfigure)
이 함수는 새로운 시간 소스를 만들지 않고도 기존의 시간 소스의 핵심 속성을 수정하는 데 사용됩니다. 기존의 시간 소스를 지정하고, time_source_create()
에서 설정한 속성들을 설정합니다. 단, 부모 속성은 제외됩니다. 이러한 속성에 대한 자세한 정보는 해당 페이지를 참조하세요. 지정된 시간 소스는 리셋되고 비활성화되며, 다시 시작해야 합니다.
문법
time_source_reconfigure(id, period, units, callback, [args, repetitions, expiry_type]);
인수 설명
인수 | 타입 | 설명 |
---|---|---|
id | Time Source ID | 재구성할 시간 소스 |
period | Real | 시간 소스가 실행되는 주기 (지정된 단위로) |
units | Time Source Unit Constant | 주기가 포함된 단위 |
callback | Method | 시간 소스가 만료될 때 호출할 메서드 |
args | Array (선택 사항) | 메서드에 전달할 인수를 포함하는 배열 |
repetitions | Real (선택 사항) | 시간 소스가 반복되어야 하는 횟수, -1은 무한 반복을 의미 |
expiry_type | Time Source Expiry Constant (선택 사항) | 시간 소스가 만료되는 프레임에 대한 설정 |
반환 값
N/A
활용 예제
예제 1: 스폰 지연 변경 함수
function change_spawn_delay(new_delay) {
time_source_reconfigure(obj_game.spawn_time_source, new_delay, time_source_units_frames, obj_game.spawn_method, [], -1);
time_source_start(obj_game.spawn_time_source);
}
이 함수는 게임 내 적의 스폰 지연을 변경하는 기능을 생성합니다. 게임이 적을 스폰하기 위해 obj_game.spawn_time_source
라는 시간 소스를 사용한다고 가정할 때, 스폰 지연이 변경되면 해당 시간 소스를 업데이트해야 합니다. 이 함수는 새로운 지연으로 시간 소스를 재구성하고 다시 시작합니다.
예제 2: 사용자 정의 콜백 함수 사용
function on_time_expired() {
// 시간 소스가 만료되었을 때 실행할 코드
show_message("시간 소스가 만료되었습니다!");
}
time_source_reconfigure(obj_game.spawn_time_source, 60, time_source_units_frames, on_time_expired);
이 예제에서는 시간 소스가 만료될 때 호출되는 사용자 정의 콜백 함수를 설정합니다. 시간이 만료되면 메시지 박스가 표시됩니다.
예제 3: 반복 설정
time_source_reconfigure(obj_game.spawn_time_source, 30, time_source_units_frames, obj_game.spawn_method, [], 5);
이 코드는 시간 소스가 5회 반복되도록 설정합니다. 주기는 30 프레임으로 설정되어 있습니다.
예제 4: 무한 반복 설정
time_source_reconfigure(obj_game.spawn_time_source, 45, time_source_units_frames, obj_game.spawn_method, [], -1);
이 예제에서는 시간 소스가 45 프레임마다 무한히 반복되도록 설정합니다.