draw_set_alpha 함수 설명
draw_set_alpha
함수는 게임에서 기본 드로우 알파 값을 설정하는 데 사용됩니다. 이 값은 0에서 1 사이로 설정할 수 있으며, 0은 완전히 투명하고 1은 완전히 불투명한 상태를 의미합니다(기본값은 1). 이 설정은 배경, 스프라이트, 폰트, 프리미티브 및 3D 요소를 포함한 모든 후속 드로잉에 영향을 미칩니다.
주의사항
- 만약 자산을 그릴 때
draw_sprite_ext()
와 같은 함수에서 알파 인자를 제공하면, 여기서 설정한 알파 값은 무시됩니다. 예를 들어,draw_sprite_ext()
를 사용하여 알파 인자를 1로 설정하면,draw_set_alpha()
에서 설정한 알파 값과 관계없이 스프라이트는 완전히 불투명하게 그려집니다. - 인스턴스가 기본 드로잉을 수행할 때(즉, 스프라이트가 있지만 드로우 이벤트가 없는 경우),
image_alpha
변수는draw_set_alpha()
에서 설정한 알파 값으로 제한됩니다. 예를 들어,image_alpha
가 1이고 드로우 알파가 0.5이면 스프라이트는 0.5 알파로 그려집니다. 반면,image_alpha
가 0.25이고 드로우 알파가 0.5이면 스프라이트는 0.25 알파로 그려집니다.
문법
draw_set_alpha(alpha);
인자 설명
인자 | 타입 | 설명 |
---|---|---|
alpha | 실수 | 설정할 알파 값 (0과 1 사이) |
반환값
- 없음
예제
draw_set_alpha(0.5);
draw_set_colour(c_black);
draw_text(x + 5, y + 5, "LEVEL 1");
draw_set_alpha(1);
draw_set_colour(c_white);
draw_text(x, y, "LEVEL 1");
위 코드는 지정된 위치에 그림자 효과가 있는 텍스트를 그립니다. 그림자 효과는 수정된 드로우 알파와 색상을 통해 생성됩니다.
활용 예제
1. 투명한 배경 그리기
draw_set_alpha(0.3);
draw_set_colour(c_blue);
draw_rectangle(0, 0, room_width, room_height, false);
draw_set_alpha(1);
2. 스프라이트에 그림자 효과 추가
draw_set_alpha(0.5);
draw_sprite(sprite_index, image_index, x + 5, y + 5); // 그림자
draw_set_alpha(1);
draw_sprite(sprite_index, image_index, x, y); // 본체
3. 텍스트에 투명도 적용
draw_set_alpha(0.7);
draw_set_colour(c_red);
draw_text(x, y, "Hello, World!");
draw_set_alpha(1);
4. 여러 개의 오브젝트에 알파 적용
for (var i = 0; i < 5; i++) {
draw_set_alpha(0.2 + (i * 0.1));
draw_sprite(sprite_index, image_index, x + (i * 10), y);
}
draw_set_alpha(1);
이와 같은 다양한 활용 예제를 통해 draw_set_alpha
함수를 효과적으로 사용할 수 있습니다.