layer_text_xscale 함수 설명
layer_text_xscale 함수는 주어진 텍스트 요소의 수평 스케일을 변경하는 기능을 제공합니다. 기본 스케일 값은 1입니다.
문법
layer_text_xscale(text_element_id, xscale);
인수
| 인수 | 타입 | 설명 |
|---|---|---|
| text_element_id | Text Element ID | 텍스트 요소의 ID로, layer_text_create 또는 layer_text_get_id에서 가져옵니다. |
| xscale | Real | 텍스트 요소의 새로운 X 스케일 값입니다. |
반환값
- N/A
예제
var _zoom = (mouse_wheel_up() - mouse_wheel_down()) * 0.1;
var _text1_id = layer_text_get_id("Assets", "text1");
var _text1_xscale = layer_text_get_xscale(_text1_id);
var _text1_yscale = layer_text_get_yscale(_text1_id);
layer_text_xscale(_text1_id, _text1_xscale + _zoom);
layer_text_yscale(_text1_id, _text1_yscale + _zoom);
이 코드는 마우스 휠 입력에 따라 텍스트 요소의 스케일을 조정합니다. 먼저, 위로 스크롤한 값에서 아래로 스크롤한 값을 빼서 휠의 델타 입력을 가져옵니다(위로 스크롤 시 1, 아래로 스크롤 시 -1 반환). 이 값을 0.1로 곱하여 한 프레임에서의 스케일 변화 속도를 줄입니다. 그런 다음, Assets 레이어에서 텍스트 요소 text1의 ID를 가져오고, 해당 요소의 xscale과 yscale을 가져옵니다. 마지막으로, 줌 값을 더한 후 각 컴포넌트를 다시 적용합니다. 이 코드는 Step 이벤트에 사용되므로, Create 이벤트에서 _text1_id 변수를 초기화해야 합니다.
활용 예제
- 텍스트 크기 조정
gml var _text_id = layer_text_get_id("UI", "score_text"); var _new_xscale = 1.5; // 새로운 X 스케일 layer_text_xscale(_text_id, _new_xscale); - 키 입력에 따른 스케일 조정
gml if (keyboard_check(vk_up)) { layer_text_xscale(_text1_id, layer_text_get_xscale(_text1_id) + 0.1); } else if (keyboard_check(vk_down)) { layer_text_xscale(_text1_id, layer_text_get_xscale(_text1_id) - 0.1); } - 게임 상태에 따른 텍스트 크기 변화
gml if (game_state == "paused") { layer_text_xscale(_text1_id, 0.8); // 일시 정지 시 텍스트 크기 감소 } else { layer_text_xscale(_text1_id, 1.0); // 게임 진행 시 원래 크기로 } - 애니메이션 효과 추가
gml var _scale_factor = sin(current_time / 10) * 0.5 + 1; // 시간에 따라 스케일 변화 layer_text_xscale(_text1_id, _scale_factor); - 다양한 텍스트 요소에 적용
gml var _text_ids = [layer_text_get_id("Assets", "text1"), layer_text_get_id("Assets", "text2")]; for (var i = 0; i < array_length(_text_ids); i++) { layer_text_xscale(_text_ids[i], 1.2); // 모든 텍스트 요소의 X 스케일을 1.2로 설정 }