layer_text_get_blend 함수 설명
layer_text_get_blend 함수는 주어진 텍스트 요소의 혼합 색상을 반환합니다. 이 색상은 layer_text_blend 함수를 사용하여 변경할 수 있습니다.
문법
layer_text_get_blend(text_element_id);
인수
| 인수 이름 | 타입 | 설명 |
|---|---|---|
| text_element_id | Text Element ID | layer_text_create 또는 layer_text_get_id에서 가져온 텍스트 요소 ID |
반환값
- 실수형(Real)
예제
var _text1_id = layer_text_get_id("Assets", "text1");
var _text1_blend = layer_text_get_blend(_text1_id);
var _target_colour = keyboard_check(vk_space) ? c_red : c_white;
var _new_colour = merge_colour(_text1_blend, _target_colour, 0.1);
layer_text_blend(_text1_id, _new_colour);
이 코드는 Assets 레이어에서 text1 텍스트 요소의 ID를 가져오고, 해당 요소의 혼합 색상을 얻습니다. 스페이스 키가 눌리면 목표 색상을 빨간색으로 설정하고, 그렇지 않으면 흰색으로 설정합니다. 현재 색상과 목표 색상 사이의 색상을 계산하여 현재 색상을 목표 색상으로 10% 이동시킵니다. 마지막으로 새로운 색상을 요소에 적용합니다. 이 코드는 스텝 이벤트에서 사용되므로 Create 이벤트에서 _text1_id 변수를 초기화해야 합니다.
활용 예제
- 텍스트 색상 애니메이션
gml var _text_id = layer_text_get_id("UI", "score_text"); var _current_blend = layer_text_get_blend(_text_id); var _target_color = c_yellow; var _new_color = merge_colour(_current_blend, _target_color, 0.05); layer_text_blend(_text_id, _new_color); - 상태에 따른 색상 변경
gml var _status_text_id = layer_text_get_id("HUD", "status"); var _current_blend = layer_text_get_blend(_status_text_id); var _target_color = player_health > 50 ? c_green : c_red; var _new_color = merge_colour(_current_blend, _target_color, 0.1); layer_text_blend(_status_text_id, _new_color); - 게임 오버 시 텍스트 색상 변경
gml if (game_over) { var _game_over_text_id = layer_text_get_id("UI", "game_over"); var _current_blend = layer_text_get_blend(_game_over_text_id); var _target_color = c_black; var _new_color = merge_colour(_current_blend, _target_color, 0.2); layer_text_blend(_game_over_text_id, _new_color); } - 점수 증가 시 텍스트 색상 변화
gml if (score_increased) { var _score_text_id = layer_text_get_id("UI", "score"); var _current_blend = layer_text_get_blend(_score_text_id); var _target_color = c_blue; var _new_color = merge_colour(_current_blend, _target_color, 0.15); layer_text_blend(_score_text_id, _new_color); }
이와 같은 방식으로 layer_text_get_blend 함수를 활용하여 다양한 텍스트 요소의 색상을 동적으로 변경할 수 있습니다.