image_blend 변수 설명 및 활용 예제
개요
image_blend 변수는 인스턴스 스프라이트의 "틴팅"을 제어합니다. 기본값은 -1이며, c_white로 설정할 수도 있습니다. 다른 값(예: c_red, c_aqua와 같은 내부 색상 상수)을 사용하면 지정된 색상이 원래 스프라이트와 혼합됩니다. 이 변수를 변경한 결과를 보려면 인스턴스가 no_draw 이벤트를 가지고 있거나 draw_self() 또는 draw_sprite_ext()와 같은 확장된 그리기 함수를 사용하여 그려져야 합니다.
HTML5 플랫폼에서 혼합을 제한하는 것이 좋습니다(웹GL을 사용하지 않는 경우). 각 혼합된 스프라이트는 별도로 캐시되어야 하므로 많은 혼합된 스프라이트가 성능에 부정적인 영향을 미칠 수 있습니다. 캐시 크기는 sprite_set_cache_size() 함수를 사용하여 설정할 수 있습니다.
문법
image_blend;
반환값
- 색상 상수
예제
image_blend = make_colour_hsv(255, 255, random(255));
위 코드는 인스턴스에 정의된 스프라이트의 image_blend를 무작위 색상으로 설정합니다.
활용 예제
| 예제 번호 | 설명 |
|---|---|
| 1 | 스프라이트에 빨간색 틴트를 적용하기 |
| 2 | 스프라이트에 파란색 틴트를 적용하기 |
| 3 | 스프라이트에 무작위 색상을 적용하기 |
| 4 | 스프라이트의 틴트를 시간에 따라 변화시키기 |
| 5 | 특정 조건에서 스프라이트의 색상을 변경하기 |
예제 코드 스니펫
- 스프라이트에 빨간색 틴트를 적용하기:
gml image_blend = c_red; - 스프라이트에 파란색 틴트를 적용하기:
gml image_blend = c_aqua; - 스프라이트에 무작위 색상을 적용하기:
gml image_blend = make_colour_hsv(255, 255, random(255)); - 스프라이트의 틴트를 시간에 따라 변화시키기:
gml image_blend = make_colour_hsv(current_time % 360, 255, 255); - 특정 조건에서 스프라이트의 색상을 변경하기:
gml if (health < 50) { image_blend = c_red; } else { image_blend = c_white; }