sprite_get_speed_type 함수 설명
sprite_get_speed_type 함수는 스프라이트 리소스의 애니메이션 유형을 가져오는 데 사용됩니다. 이 함수는 스프라이트 편집기에서 정의된 애니메이션 유형에 따라 다음과 같은 상수 중 하나를 반환합니다.
| 스프라이트 속도 상수 | 설명 |
|---|---|
| spritespeed_framespersecond | 스프라이트가 초당 프레임으로 애니메이션이 정의됨. |
| spritespeed_framespergameframe | 스프라이트가 게임 프레임당 프레임으로 애니메이션이 정의됨. |
애니메이션 속도 계산 예제
이 두 가지 애니메이션 속도 설정이 애니메이션 속도 계산에 미치는 차이를 보여주는 두 가지 예제를 살펴보겠습니다.
- 초당 프레임으로 정의된 스프라이트
- 스프라이트가 초당 1 프레임으로 정의되고 이미지 속도를 0.5로 설정한 경우:
- 초당 0.5 프레임으로 그려집니다.
- 게임 프레임 속도가 60 프레임/초라면, 스프라이트는 120 게임 프레임마다 1 프레임을 그립니다.
- 게임 프레임당 프레임으로 정의된 스프라이트
- 스프라이트가 게임 프레임당 1 프레임으로 정의되고 이미지 속도를 0.5로 설정한 경우:
- 게임 프레임당 0.5 프레임으로 그려집니다.
- 게임 프레임 속도가 60 프레임/초라면, 스프라이트는 60 게임 프레임마다 30 프레임을 그립니다.
함수 사용법
sprite_get_speed() 함수를 사용하여 스프라이트 애니메이션에 사용된 속도 값을 확인할 수 있으며, sprite_set_speed() 함수를 사용하여 애니메이션 속도와 유형을 설정할 수 있습니다.
문법
sprite_get_speed_type(index)
인수 설명
| 인수 | 유형 | 설명 |
|---|---|---|
| index | 스프라이트 자산 | 애니메이션 유형을 가져올 스프라이트의 인덱스 |
반환값
- 스프라이트 속도 상수 (위 참조)
예제 코드
s_speed = sprite_get_speed(sprite_index);
s_type = sprite_get_speed_type(sprite_index);
위 코드는 스프라이트 속도와 스프라이트 애니메이션 유형을 가져와 인스턴스 변수에 저장합니다.
활용 예제
- 스프라이트 속도 조정
gml if (s_type == spritespeed_framespersecond) { sprite_set_speed(sprite_index, 1.0); } - 게임 프레임에 따른 애니메이션 조정
gml if (s_type == spritespeed_framespergameframe) { sprite_set_speed(sprite_index, 0.5); } - 스프라이트 속도에 따른 조건부 로직
gml if (s_speed < 0.5) { // 느린 애니메이션 처리 } else { // 빠른 애니메이션 처리 } - 스프라이트 애니메이션 상태 변경
gml if (s_type == spritespeed_framespersecond) { // 애니메이션 상태 변경 로직 } - 스프라이트 속도에 따른 효과 적용
gml if (s_speed > 1.0) { // 효과 적용 }
이와 같은 방식으로 sprite_get_speed_type 함수를 활용하여 스프라이트의 애니메이션 속도를 효과적으로 관리할 수 있습니다.