layer_background_blend 함수 설명
layer_background_blend 함수는 배경 스프라이트의 혼합(또는 "틴팅")을 제어하는 기능입니다. 기본값은 -1로, 이는 상수 c_white를 나타냅니다. 다른 값(예: 내부 색상 상수인 c_red 또는 c_aqua)을 사용하면 지정한 색상이 원래 스프라이트와 혼합됩니다.
함수 사용법
이 함수는 배경 요소 ID를 필요로 합니다. 이 ID는 layer_background_create() 함수를 사용하여 배경 요소를 생성할 때 얻거나, layer_background_get_id() 함수를 사용하여 얻을 수 있습니다. 그런 다음 사용할 혼합 색상을 설정합니다.
문법
layer_background_blend(background_element_id, blend);
인수 설명
| 인수 | 타입 | 설명 |
|---|---|---|
| background_element_id | 고유 ID 값 | 변경할 배경 요소의 고유 ID 값 |
| blend | 색상 | 배경 스프라이트와 혼합할 색상 (기본값은 c_white) |
반환값
이 함수는 반환값이 없습니다.
예제 코드
다음 코드는 "Background_sky" 레이어에 할당된 배경의 ID 값을 가져오고, 이를 c_aqua 색상으로 틴팅하는 예제입니다.
var lay_id = layer_get_id("Background_sky");
var back_id = layer_background_get_id(lay_id);
layer_background_blend(back_id, c_aqua);
활용 예제
- 다양한 색상 혼합
- 여러 색상을 사용하여 배경을 다채롭게 만들 수 있습니다.
gml layer_background_blend(back_id, c_red); layer_background_blend(back_id, c_green); layer_background_blend(back_id, c_blue); - 조건에 따른 색상 변경
- 게임의 상황에 따라 배경 색상을 변경할 수 있습니다.
gml if (player_health < 50) { layer_background_blend(back_id, c_red); } else { layer_background_blend(back_id, c_green); } - 배경 애니메이션 효과
- 시간에 따라 배경 색상을 변화시켜 애니메이션 효과를 줄 수 있습니다.
gml var time = current_time mod 255; layer_background_blend(back_id, make_color_rgb(time, 100, 200)); - HTML5 플랫폼에서의 성능 고려
- HTML5 플랫폼에서 성능을 고려하여 혼합 색상을 제한할 수 있습니다.
gml if (platform == "HTML5") { layer_background_blend(back_id, c_white); // 성능 최적화 } - 배경 캐시 크기 설정
- 스프라이트 캐시 크기를 설정하여 성능을 개선할 수 있습니다.
gml sprite_set_cache_size(some_sprite_id, 1024); // 캐시 크기 설정
이와 같은 방법으로 layer_background_blend 함수를 활용하여 다양한 배경 효과를 구현할 수 있습니다.