layer_text_blend 함수 설명
layer_text_blend 함수는 주어진 텍스트 요소의 혼합 색상을 변경하는 기능을 제공합니다. 이는 객체 인스턴스의 image_blend와 유사합니다.
문법
layer_text_blend(text_element_id, colour);
인수 설명
| 인수 이름 | 타입 | 설명 |
|---|---|---|
| text_element_id | Text Element ID | 텍스트 요소의 ID로, layer_text_create 또는 layer_text_get_id에서 가져올 수 있습니다. |
| colour | Colour | 요소의 새로운 혼합 색상입니다. |
반환값
- N/A
예제
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("LayerName", "TextName"); var _current_blend = layer_text_get_blend(_text_id); var _target_color = keyboard_check(vk_enter) ? c_blue : c_green; var _new_blend = merge_colour(_current_blend, _target_color, 0.05); layer_text_blend(_text_id, _new_blend); - 게임 상태에 따른 색상 변경
- 게임의 상태에 따라 텍스트 색상을 변경하여 사용자에게 피드백을 줄 수 있습니다.
gml var _status_text_id = layer_text_get_id("UI", "StatusText"); var _status_color = game_status == "win" ? c_green : c_red; layer_text_blend(_status_text_id, _status_color); - 시간에 따른 색상 변화
- 특정 시간 간격으로 텍스트 색상을 변화시켜 시각적 효과를 줄 수 있습니다.
gml var _timer = current_time mod 60; // 60초 주기로 변화 var _text_id = layer_text_get_id("Effects", "DynamicText"); var _dynamic_color = (_timer < 30) ? c_yellow : c_purple; layer_text_blend(_text_id, _dynamic_color);
이와 같은 방식으로 layer_text_blend 함수를 활용하여 다양한 시각적 효과를 구현할 수 있습니다.