layer_sequence_xscale 함수 설명
이 문서에서는 layer_sequence_xscale 함수에 대해 설명하고, 다양한 활용 및 응용 예제를 제공합니다.
함수 개요
layer_sequence_xscale 함수는 주어진 시퀀스 요소의 X 축 스케일을 설정하는 데 사용됩니다. 이 함수는 layer_sequence_create() 또는 다른 레이어 요소 함수에서 반환된 시퀀스 요소 ID와 X 축에 적용할 새로운 스케일 값을 인수로 받습니다.
- 스케일 값이 1이면 스케일링이 없음을 의미합니다 (1:1).
- 스케일 값이 1보다 작으면 시퀀스의 너비가 줄어듭니다 (예: 0.5는 너비를 절반으로 줄입니다).
- 스케일 값이 1보다 크면 시퀀스가 확대됩니다.
- 음수 값을 사용하면 시퀀스가 원점을 기준으로 반전되고 스케일링됩니다. 단, 값이 -1인 경우에는 단순히 원점을 기준으로 반전됩니다.
중요한 주의사항: 불균형 스케일링(예: X 축을 3으로, Y 축을 2로 스케일링) 시 회전을 사용하는 인스턴스가 포함된 시퀀스 요소에 적용하면 인스턴스의 그리기, 충돌, 컬링 등 여러 문제를 일으킬 수 있습니다. 따라서 시퀀스가 인스턴스 속성에 의존하는 경우 불균형 스케일링과 인스턴스 회전을 함께 사용하는 것을 권장하지 않습니다.
문법
layer_sequence_xscale(sequence_element_id, xscale)
인수 설명
| 인수 | 유형 | 설명 |
|---|---|---|
| sequence_element_id | Sequence Element ID | 타겟 시퀀스 요소의 고유 ID 값 |
| xscale | Real | 시퀀스 요소에 적용할 새로운 X 축 스케일 값 |
반환값
N/A
예제
다음 코드는 seq_scale 변수에 저장된 값을 확인하고, 값이 2보다 작으면 0.01을 더한 후, 이 값을 사용하여 my_seq 변수에 참조된 시퀀스 요소의 X 및 Y 스케일을 설정합니다.
if (seq_scale < 2) {
seq_scale += 0.01;
layer_sequence_xscale(my_seq, seq_scale);
layer_sequence_yscale(my_seq, seq_scale);
}
활용 예제
- 기본 스케일 조정
gml layer_sequence_xscale(my_seq, 1.5); - 스케일을 동적으로 변경
gml if (some_condition) { layer_sequence_xscale(my_seq, 2); } else { layer_sequence_xscale(my_seq, 0.5); } - 반전 효과 적용
gml layer_sequence_xscale(my_seq, -1); - 스케일링과 회전 조합 피하기
gml if (rotation_condition) { // 회전이 필요 없는 경우에만 스케일 조정 layer_sequence_xscale(my_seq, 1.2); } - 스케일 애니메이션
gml for (var i = 0; i < 100; i++) { layer_sequence_xscale(my_seq, i * 0.01); sleep(10); // 10 밀리초 대기 }
이와 같은 다양한 활용 예제를 통해 layer_sequence_xscale 함수를 효과적으로 사용할 수 있습니다.