layer_background_speed 함수 설명
layer_background_speed 함수는 배경 요소에 할당된 애니메이션 스프라이트의 속도를 설정하는 데 사용됩니다. 이 함수는 배경 요소 ID를 입력받아 애니메이션 속도를 설정합니다. 배경 요소 ID는 layer_background_create() 함수를 사용하여 배경 요소를 생성할 때 얻거나, layer_background_get_id() 함수를 사용하여 얻을 수 있습니다.
애니메이션 속도 설정
IDE에서 사용된 스프라이트의 애니메이션 속도가 "게임 프레임당 프레임"으로 설정된 경우, 주어진 속도 값은 배수입니다. 기본값은 1이며, 0.5로 설정하면 애니메이션 속도가 절반으로 줄어들고, 2로 설정하면 두 배로 증가합니다.
반면, IDE에서 사용된 스프라이트의 애니메이션 속도가 "초당 프레임"으로 설정된 경우, 주어진 속도 값은 실제 초당 프레임 수입니다. 예를 들어, 5로 설정하면 게임이 실행되는 동안 초당 5프레임이 반복됩니다.
만약 배경 요소에 스프라이트가 연결되어 있지 않거나 사용된 스프라이트에 서브 이미지가 없다면, 이 함수는 아무런 효과가 없습니다.
문법
layer_background_speed(background_element_id, speed);
인수 설명
| 인수 | 타입 | 설명 |
|---|---|---|
| background_element_id | Background Element ID | 변경할 배경 요소의 고유 ID 값 |
| speed | Real | 요소에 사용할 속도 배수/값 |
반환값
N/A
예제 코드
var lay_id = layer_get_id("Background_water");
var back_id = layer_background_get_id(lay_id);
layer_background_speed(back_id, 0.5);
위의 코드는 "Background_water"라는 레이어의 핸들을 가져오고, 이를 사용하여 해당 레이어의 배경 요소 ID를 가져옵니다. 이 ID는 요소 이미지 속도를 변경하는 데 사용됩니다.
활용 예제
- 배경 애니메이션 속도 조절
gml var lay_id = layer_get_id("Background_forest"); var back_id = layer_background_get_id(lay_id); layer_background_speed(back_id, 1.5); - 배경 애니메이션 정지
gml var lay_id = layer_get_id("Background_stars"); var back_id = layer_background_get_id(lay_id); layer_background_speed(back_id, 0); - 배경 애니메이션 속도 증가
gml var lay_id = layer_get_id("Background_city"); var back_id = layer_background_get_id(lay_id); layer_background_speed(back_id, 2); - 초당 프레임으로 설정
gml var lay_id = layer_get_id("Background_desert"); var back_id = layer_background_get_id(lay_id); layer_background_speed(back_id, 10); - 배경 요소가 없는 경우 처리
gml var lay_id = layer_get_id("Background_empty"); var back_id = layer_background_get_id(lay_id); if (back_id != -1) { layer_background_speed(back_id, 1); }