Y 스케일 설정 함수 설명
이 문서는 주어진 시퀀스 요소의 Y 스케일을 설정하는 함수에 대해 설명합니다. 이 함수는 layer_sequence_create() 또는 다른 레이어 요소 함수에서 반환된 시퀀스 요소 ID와 Y 축에 적용할 새로운 스케일 값을 입력받아 시퀀스를 해당 값으로 스케일링합니다.
주요 개념
- 스케일 값:
- 스케일 값이 1이면 스케일링이 없습니다 (1:1).
- 1보다 작은 값은 시퀀스를 축소합니다 (예: 0.5는 시퀀스의 너비를 절반으로 줄임).
- 1보다 큰 값은 시퀀스를 확대합니다.
- 음수 값은 시퀀스를 원점에 대해 뒤집고 스케일링합니다. 단, 값이 -1인 경우에는 스케일링 없이 단순히 뒤집힙니다.
- 불균형 스케일링 주의:
- X 축과 Y 축에 대해 서로 다른 스케일링을 적용할 경우, 회전을 사용하는 인스턴스가 포함된 시퀀스 요소에서 문제를 일으킬 수 있습니다.
- 인스턴스 속성에 의존하는 시퀀스는 불균형 스케일링과 인스턴스 회전을 함께 사용하는 것을 권장하지 않습니다.
함수 구문
layer_sequence_yscale(sequence_element_id, yscale)
매개변수 설명
| 매개변수 | 타입 | 설명 |
|---|---|---|
| sequence_element_id | 정수 | 타겟 시퀀스 요소의 고유 ID 값 |
| yscale | 실수 | 시퀀스 요소에 적용할 새로운 Y 축 스케일 값 |
반환값
- N/A
활용 예제
아래 코드는 seq_scale 변수가 2보다 작은 경우, 값을 증가시키고 이를 사용하여 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);
}
이 코드는 seq_scale의 현재 값을 확인하고, 조건에 따라 스케일을 조정하여 시퀀스 요소의 크기를 변경합니다.
추가 활용 예제
- 시퀀스 요소의 Y 스케일을 동적으로 조정하기
gml if (player_health < 50) { layer_sequence_yscale(enemy_seq, 1.5); } - 게임 이벤트에 따라 스케일 변경하기
gml if (event_type == ev_mousebuttonup) { layer_sequence_yscale(button_seq, 0.8); } - 시간에 따라 스케일 애니메이션 만들기
gml layer_sequence_yscale(animated_seq, sin(current_time) * 0.5 + 1);
이러한 예제들은 Y 스케일을 조정하여 다양한 효과를 구현하는 방법을 보여줍니다.