애니메이션 곡선 데이터 가져오기
이 문서에서는 animcurve_get 함수에 대해 쉽게 설명하고, 다양한 활용 및 응용 예제를 포함합니다.
함수 설명
animcurve_get 함수는 주어진 애니메이션 곡선의 모든 데이터를 포함하는 구조체(struct)를 반환하는 함수입니다. 이 함수는 애니메이션 곡선 자산 ID(자산 브라우저에서 정의됨)를 입력으로 받으며, 다음과 같은 변수를 포함하는 구조체를 반환합니다.
애니메이션 곡선 구조체 (Animation Curve Struct)
| 변수 이름 | 데이터 타입 | 설명 |
|---|---|---|
| name | String | 애니메이션 곡선의 이름입니다. |
| channels | Array | 애니메이션 곡선 채널 구조체의 배열입니다. |
channels 변수는 배열로, 각 항목은 채널 구조체입니다. 각 채널은 다시 포인트를 구조체 형태로 배열에 저장합니다. 이 포인트는 각 채널의 데이터와 관련이 있습니다.
함수가 실패할 경우(예: 주어진 애니메이션 곡선 자산이 존재하지 않을 때), 함수는 -1을 반환합니다.
구문
animcurve_get(curve_id);
인자 설명
| 인자 이름 | 타입 | 설명 |
|---|---|---|
| curve_id | Animation Curve Asset | 가져올 애니메이션 곡선의 자산 ID(인덱스)입니다. |
반환 값
- 애니메이션 곡선 구조체 또는 -1
예제 코드
다음 코드에서는 애니메이션 곡선 자산 "ac_ButtonTween"의 구조체를 가져오고, 첫 번째 채널의 곡선 타입이 선형이 아닐 경우 선형으로 설정합니다.
var _curve = animcurve_get(ac_ButtonTween);
var _channel = _curve.channels[0]; // 첫 번째 채널 가져오기
if (_channel.type != animcurvetype_linear) {
_channel.type = animcurvetype_linear; // 선형으로 설정
}
활용 예제
- 애니메이션 곡선의 이름 변경
애니메이션 곡선의 이름을 변경하고 싶다면 다음과 같이 작성할 수 있습니다.
gml var _curve = animcurve_get(ac_ButtonTween); _curve.name = "NewAnimateCurveName"; // 이름 변경
- 모든 채널의 타입을 선형으로 설정하기
애니메이션 곡선 내 모든 채널을 선형으로 설정하는 예제입니다.
gml var _curve = animcurve_get(ac_ButtonTween); for (var i = 0; i < array_length(_curve.channels); i++) { _curve.channels[i].type = animcurvetype_linear; // 모든 채널을 선형으로 설정 }
- 첫 번째 채널의 포인트 데이터 가져오기
첫 번째 채널의 모든 포인트 데이터를 가져오는 방법입니다.
gml var _curve = animcurve_get(ac_ButtonTween); var _points = _curve.channels[0].points; // 첫 번째 채널의 포인트 데이터 가져오기 for (var i = 0; i < array_length(_points); i++) { var point = _points[i]; // 포인트 데이터 사용 }
이 문서에서는 animcurve_get 함수에 대한 기본적인 설명과 함께 실제 사용하는 예제를 보였습니다. 이를 통해 애니메이션 곡선의 데이터에 쉽게 접근하고 활용할 수 있습니다.