키프레임 구조체
키프레임 구조체는 각 트랙에 하나 이상의 키프레임 구조체가 할당됩니다. 이 키프레임 구조체는 트랙 구조체의 keyframes 속성을 통해 접근할 수 있습니다. 각 키프레임 구조체는 다음과 같은 속성을 가집니다:
| 속성 이름 | 변수 타입 | 설명 |
|---|---|---|
| frame | Real | 키프레임의 타임라인 상 위치(프레임 단위). 기본값은 0입니다. |
| length | Real | 키프레임의 길이. 기본값은 1이며, 더 큰 값으로 설정하면 키프레임이 참조하는 트랙 속성은 주어진 길이 동안 초기 값을 유지합니다. stretch 속성이 true로 설정되면 이 값이 무시됩니다. |
| stretch | Boolean | 이 속성이 true로 설정되면 키프레임은 트랙의 다음 키프레임 또는 마지막 키프레임일 경우 트랙의 끝까지 늘어납니다. 이 값을 가져오거나 설정할 수 있으며, 기본값은 false입니다. |
| channels | Array of Sequence Keyframe Data Structs | 이 속성은 트랙의 채널에 대한 키프레임 데이터 구조체 목록에 접근할 수 있게 해줍니다. 이 속성을 가져오면 키프레임 데이터 구조체의 배열이 반환되며, 설정할 때는 키프레임 데이터 구조체의 배열을 지정해야 합니다. |
활용 예제
키프레임 생성 예제
var myKeyframe = new Keyframe();
myKeyframe.frame = 10;
myKeyframe.length = 5;
myKeyframe.stretch = false;
키프레임 배열 설정 예제
var keyframeArray = [];
var keyframe1 = new Keyframe();
keyframe1.frame = 0;
keyframe1.length = 3;
keyframeArray.push(keyframe1);
var keyframe2 = new Keyframe();
keyframe2.frame = 5;
keyframe2.length = 2;
keyframeArray.push(keyframe2);
track.keyframes = keyframeArray;
키프레임 속성 수정 예제
var keyframe = track.keyframes[0];
keyframe.length = 4;
keyframe.stretch = true;
키프레임 데이터 접근 예제
var keyframeData = track.keyframes[0].channels;
for (var i = 0; i < array_length(keyframeData); i++) {
var data = keyframeData[i];
// 데이터 처리 로직
}