draw_surface_ext 함수 설명
draw_surface_ext
함수는 주어진 서피스를 그리는 함수로, draw_surface
와 유사하지만 추가적인 옵션을 통해 서피스의 크기, 혼합, 회전 및 알파 값을 변경할 수 있습니다. 이 추가 옵션들은 서피스의 리소스를 수정하지 않고, 그리는 방식만 변경합니다.
문법
draw_surface_ext(id, x, y, xscale, yscale, rot, col, alpha);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
id | Surface | 그릴 서피스 |
x | Real | 서피스를 그릴 x 위치 |
y | Real | 서피스를 그릴 y 위치 |
xscale | Real | 수평 스케일 |
yscale | Real | 수직 스케일 |
rot | Real | 서피스를 그릴 회전 각도 |
col | Colour | 서피스를 혼합할 색상 |
alpha | Real | 서피스를 그릴 때의 알파 투명도 |
반환값
- N/A
예제
draw_surface_ext(surf, 0, 0, 2, 2, 0, c_red, 0.5);
위 코드는 변수 surf
에 저장된 서피스를 (0, 0) 위치에 원래 크기의 두 배로 그리며, 빨간색으로 혼합되고 반투명하게 표시합니다.
활용 예제
- 서피스를 화면의 중앙에 그리기
var centerX = room_width / 2;
var centerY = room_height / 2;
draw_surface_ext(surf, centerX, centerY, 1, 1, 0, c_white, 1);
- 서피스를 회전시키며 그리기
draw_surface_ext(surf, 100, 100, 1, 1, 45, c_blue, 1);
- 서피스를 크기를 줄여서 그리기
draw_surface_ext(surf, 50, 50, 0.5, 0.5, 0, c_green, 0.8);
- 서피스를 다양한 색상으로 혼합하여 그리기
draw_surface_ext(surf, 200, 200, 1, 1, 0, c_yellow, 0.3);
draw_surface_ext(surf, 220, 220, 1, 1, 0, c_purple, 0.5);
- 서피스를 여러 번 그리기
for (var i = 0; i < 5; i++) {
draw_surface_ext(surf, 10 * i, 10 * i, 1, 1, 0, c_red, 0.5);
}