layer_sequence_headpos 함수 설명
이 문서에서는 layer_sequence_headpos 함수에 대해 설명합니다. 이 함수를 사용하면 시퀀스 요소의 재생 헤드 위치를 특정 프레임으로 설정할 수 있습니다. 이 함수는 layer_sequence_create() 또는 다른 레이어 요소 함수에서 반환된 시퀀스 요소 ID와 설정할 새 위치를 인수로 받습니다.
주요 사항
- 프레임 단위: 위치는 프레임 단위로 설정되며, 총 프레임 수보다 큰 값이나 0보다 작은 값을 설정하면 실제 재생 헤드 위치는 선택된 시퀀스 재생 유형에 따라 달라집니다.
- 재생 유형에 따른 규칙:
- 루프 없음: 재생 헤드는 루프의 끝(또는 주어진 값이 음수일 경우 시작)으로 고정됩니다.
- 루프 있음: 재생 헤드는 시퀀스의 시작으로 돌아가고 추가 프레임을 더합니다. 예를 들어, 30 프레임 시퀀스에서 재생 헤드를 45 프레임으로 설정하면 실제 재생 헤드 위치는 15가 됩니다. 음수 값을 주면 시퀀스 재생 헤드가 반대 방향으로 감깁니다.
- 핑퐁 루프: 재생 헤드는 끝으로 진행한 후 총 프레임 길이를 초과한 프레임 수만큼 되돌아가며 재생 방향이 반전됩니다. 예를 들어, 30 프레임 시퀀스에서 재생 헤드를 40으로 설정하면 최종 재생 헤드 위치는 20이 되고 방향이 반전됩니다. 핑퐁 재생의 경우 음수 값을 주지 않아야 합니다.
이 방법으로 헤드 위치를 설정해도 재생이 중단되지 않으며, 시퀀스는 새 재생 헤드 위치에서 계속 진행됩니다.
문법
layer_sequence_headpos(sequence_element_id, position)
인수 설명
| 인수 | 타입 | 설명 |
|---|---|---|
| sequence_element_id | 시퀀스 요소 ID | 타겟 시퀀스 요소의 고유 ID 값 |
| position | 실수 | 시퀀스 내에서 재생 헤드 위치를 설정할 프레임 (소수점 값 가능) |
반환값
- N/A
활용 예제
다음은 layer_sequence_headpos 함수를 활용하는 몇 가지 예제입니다.
예제 1: 모든 시퀀스 요소의 재생 헤드 위치를 0으로 설정하기
var a = layer_get_all_elements(layer);
for (var i = 0; i < array_length(a); i++) {
if (layer_get_element_type(a[i]) == layerelementtype_sequence) {
layer_sequence_headpos(a[i], 0);
}
}
예제 2: 특정 시퀀스 요소의 재생 헤드 위치를 15로 설정하기
var sequence_id = layer_sequence_create(layer, ...);
layer_sequence_headpos(sequence_id, 15);
예제 3: 루프가 있는 시퀀스의 재생 헤드 위치를 45로 설정하기
var sequence_id = layer_sequence_create(layer, ...);
layer_sequence_headpos(sequence_id, 45); // 실제 위치는 15가 됨
예제 4: 핑퐁 루프의 재생 헤드 위치를 40으로 설정하기
var sequence_id = layer_sequence_create(layer, ...);
layer_sequence_headpos(sequence_id, 40); // 최종 위치는 20으로 반전됨
이와 같이 layer_sequence_headpos 함수를 사용하여 다양한 시퀀스 요소의 재생 헤드 위치를 조정할 수 있습니다.