스켈레톤 애니메이션 프레임 가져오기
skeleton_animation_get_frame 함수는 지정된 애니메이션 트랙에서 애니메이션의 프레임 번호를 반환합니다. 만약 특정 트랙에 애니메이션이 할당되지 않았다면 -1을 반환합니다.
문법
skeleton_animation_get_frame(track);
인수
| 인수 | 타입 | 설명 |
|---|---|---|
| track | Real | 프레임을 가져올 애니메이션 트랙 번호 |
반환값
- Real: 현재 프레임 번호 또는 -1
예제
var frame = skeleton_animation_get_frame(0);
if (frame > 0 && frame < 2) {
var box = skeleton_get_minmax();
var ww = (box[2] - box[0]) / 2;
var hh = (box[3] - box[1]) / 2;
part_particles_create(global.p_sys, box[0] + ww, box[1] + hh, global.Stars, 10);
}
위의 코드는 트랙 0에 할당된 애니메이션의 현재 프레임을 확인하고, 스프라이트의 전체 경계 상자의 중간 지점에서 일부 입자를 생성합니다.
활용 예제
예제 1: 애니메이션 상태에 따라 행동 변경
var frame = skeleton_animation_get_frame(1);
if (frame == 3) {
// 특정 행동 수행
show_message("애니메이션이 3번째 프레임입니다.");
}
예제 2: 애니메이션 종료 시 이벤트 발생
var frame = skeleton_animation_get_frame(2);
if (frame == -1) {
// 애니메이션이 종료되었음을 알림
show_message("애니메이션이 종료되었습니다.");
}
예제 3: 프레임에 따라 다른 효과 적용
var frame = skeleton_animation_get_frame(0);
if (frame == 1) {
// 첫 번째 프레임에서 효과 적용
apply_effect("효과1");
} else if (frame == 2) {
// 두 번째 프레임에서 다른 효과 적용
apply_effect("효과2");
}
이와 같이 skeleton_animation_get_frame 함수를 활용하여 애니메이션의 현재 상태에 따라 다양한 행동을 구현할 수 있습니다.