draw_surface_general 함수 설명
draw_surface_general 함수는 draw_surface_ext와 draw_surface_part 함수를 결합하여, 최종 서피스 부분의 각 모서리를 개별 색상으로 혼합할 수 있는 추가 혼합 옵션을 제공합니다.
참고: HTML5 타겟에서는 WebGL이 활성화되지 않으면 그라디언트 혼합을 사용할 수 없습니다.
문법
draw_surface_general(surface, left, top, w, h, x, y, xscale, yscale, rot, c1, c2, c3, c4, alpha);
인수 설명
| 인수 | 타입 | 설명 |
|---|---|---|
| surface | Surface | 그릴 서피스 |
| left | Real | 그릴 부분의 서피스에서 왼쪽 위치 |
| top | Real | 그릴 부분의 서피스에서 위쪽 위치 |
| w | Real | 그릴 부분의 너비 (왼쪽에서부터) |
| h | Real | 그릴 부분의 높이 (위쪽에서부터) |
| x | Real | 서피스를 그릴 x 위치 |
| y | Real | 서피스를 그릴 y 위치 |
| xscale | Real | 서피스를 그릴 때의 수평 스케일 |
| yscale | Real | 서피스를 그릴 때의 수직 스케일 |
| rot | Real | 서피스를 그릴 때의 회전 각도 |
| c1 | Colour | 서피스의 왼쪽 상단 모서리 색상 |
| c2 | Colour | 서피스의 오른쪽 상단 모서리 색상 |
| c3 | Colour | 서피스의 오른쪽 하단 모서리 색상 |
| c4 | Colour | 서피스의 왼쪽 하단 모서리 색상 |
| alpha | Real | 서피스를 그릴 때의 알파 투명도 |
반환값
N/A
예제
draw_surface_general(surf, 8, 8, 32, 32, x, y, 2, 0.5, 180, c_white, c_white, c_black, c_black, 1);
위 코드는 8x8 픽셀 위치에서 32x32 픽셀 영역을 서피스에서 그립니다. 너비는 두 배로 늘어나고 높이는 절반으로 줄어듭니다. 서피스는 불투명하며, 거꾸로 그려집니다. 서피스의 상단 영역은 흰색으로 혼합되어 정상적으로 보이고, 하단 영역은 검은색으로 혼합되어 부드러운 그라디언트로 정상에서 실루엣으로 변합니다.
활용 예제
- 기본 서피스 그리기
gml draw_surface_general(my_surface, 0, 0, 100, 100, 50, 50, 1, 1, 0, c_red, c_green, c_blue, c_yellow, 0.5); - 회전 및 스케일링
gml draw_surface_general(my_surface, 10, 10, 50, 50, mouse_x, mouse_y, 1.5, 1.5, 45, c_white, c_black, c_white, c_black, 1); - 다양한 색상 혼합
gml draw_surface_general(my_surface, 5, 5, 80, 80, 100, 100, 1, 1, 0, c_blue, c_red, c_green, c_yellow, 0.8); - 투명도 조절
gml draw_surface_general(my_surface, 20, 20, 60, 60, 200, 200, 1, 1, 0, c_white, c_white, c_black, c_black, 0.3); - 그라디언트 효과
gml draw_surface_general(my_surface, 0, 0, 100, 100, 150, 150, 1, 1, 0, c_red, c_green, c_blue, c_yellow, 0.5);