layer_sprite_xscale 함수 설명
layer_sprite_xscale 함수는 특정 레이어의 스프라이트 요소가 x축을 따라 스케일링될지 여부를 변경하는 데 사용됩니다. 이 함수는 스프라이트 요소 ID를 입력받아 스케일 값을 설정합니다. 스케일 값이 1이면 스케일링이 없음을 의미하며(1:1), 값이 작아질수록 스프라이트의 너비가 줄어듭니다(예: 0.5는 너비를 절반으로 줄임). 값이 커지면 스프라이트가 확대되고, 음수 값은 스프라이트를 뒤집고 스케일링합니다. 단, -1인 경우에는 스프라이트가 원래 위치에서 좌우로 뒤집히고 스케일링은 적용되지 않습니다.
문법
layer_sprite_xscale(sprite_element_id, xscale);
인수 설명
| 인수 | 유형 | 설명 |
|---|---|---|
| sprite_element_id | Sprite Element ID | 변경할 스프라이트 요소의 고유 ID 값 |
| xscale | Real | x축 스케일 값 (기본값은 1) |
반환값
N/A
예제
var asset_sprite = layer_sprite_get_id(layer, "gfc_Trees");
||
|---|
layer_sprite_xscale(asset_sprite, 1);
layer_sprite_yscale(asset_sprite, 1);
}
위의 코드는 현재 인스턴스가 있는 레이어에 할당된 스프라이트 요소를 확인하고, x축 또는 y축에서 스케일링이 적용되어 있다면 두 축의 스케일을 모두 1로 설정합니다.
활용 예제
- 스프라이트 크기 조정
gml var my_sprite = layer_sprite_get_id(layer, "gfc_Character"); layer_sprite_xscale(my_sprite, 2); // 스프라이트를 2배로 확대 - 스프라이트 뒤집기
gml var enemy_sprite = layer_sprite_get_id(layer, "gfc_Enemy"); layer_sprite_xscale(enemy_sprite, -1); // 스프라이트를 좌우로 뒤집기 - 조건부 스케일링
gml var tree_sprite = layer_sprite_get_id(layer, "gfc_Trees"); if layer_sprite_get_xscale(tree_sprite) < 1 { layer_sprite_xscale(tree_sprite, 1.5); // 스프라이트가 작으면 1.5배로 확대 } - 애니메이션 효과
gml var player_sprite = layer_sprite_get_id(layer, "gfc_Player"); layer_sprite_xscale(player_sprite, 0.5 + abs(sin(current_time)); // 시간에 따라 스케일 변화 - 다양한 스케일 적용
gml var background_sprite = layer_sprite_get_id(layer, "gfc_Background"); layer_sprite_xscale(background_sprite, 0.8); // 배경 스프라이트를 약간 축소
이와 같은 다양한 활용 예제를 통해 layer_sprite_xscale 함수를 효과적으로 사용할 수 있습니다.