draw_sprite_tiled_ext 함수 설명
draw_sprite_tiled_ext
함수는 스프라이트를 받아서 주어진 좌표에서 시작하여 전체 뷰(또는 뷰가 정의되지 않은 경우 방 전체)에 스프라이트를 반복적으로 타일링합니다. 각 타일은 주어진 크기로 조정되고, 색상 혼합 및 알파 값이 적용됩니다. 이 함수는 2D(정사영) 프로젝션 전용이며, 3D 카메라 프로젝션에서는 올바르게 작동하지 않습니다.
참고: 색상 혼합은 HTML5 타겟에서 WebGL이 활성화된 경우에만 권장됩니다. WebGL이 비활성화된 경우에도 혼합 색상을 설정할 수 있지만, 이 경우 스프라이트가 복제되어 캐시에 저장되고 필요할 때 사용됩니다. 이는 최적이 아니며, 여러 색상 변경을 사용할 경우 게임 성능이 저하될 수 있습니다. WebGL을 사용하고 싶지 않다면, sprite_set_cache_size()
함수를 사용하여 폰트 캐시 크기를 설정하여 이를 제한할 수 있습니다.
문법
draw_sprite_tiled_ext(sprite, subimg, x, y, xscale, yscale, colour, alpha);
인수 설명
인수 | 타입 | 설명 |
---|---|---|
sprite | 스프라이트 | 그릴 스프라이트 |
subimg | 정수 | 그릴 스프라이트의 서브 이미지(프레임) |
x | 정수 | 스프라이트를 그릴 x 좌표 |
y | 정수 | 스프라이트를 그릴 y 좌표 |
xscale | 실수 | 스프라이트의 수평 스케일링 (1은 정상 크기, 0.5는 절반 등) |
yscale | 실수 | 스프라이트의 수직 스케일링 (1은 정상 크기, 0.5는 절반 등) |
colour | 색상 | 스프라이트와 혼합할 색상 |
alpha | 실수 | 스프라이트의 알파 (0은 투명, 1은 불투명) |
반환값
- 없음
예제
draw_sprite_tiled_ext(sprite_index, image_index, x, y, 2, 2, c_red, 0.5);
위 코드는 인스턴스에 할당된 스프라이트(sprite_index
)와 현재 애니메이션 프레임(image_index
)을 인스턴스의 x 및 y 위치에 그립니다. 스프라이트는 정상 크기의 두 배로 스케일되고, 빨간색으로 혼합되며, 알파는 절반으로 설정됩니다. 스프라이트는 뷰 전체에 수평 및 수직으로 타일링됩니다.
활용 예제
- 배경 타일링
gml draw_sprite_tiled_ext(background_sprite, -1, 0, 0, 1, 1, c_white, 1);
- 게임 오브젝트 효과
gml draw_sprite_tiled_ext(effect_sprite, image_index, x, y, 1.5, 1.5, c_blue, 0.8);
- 적 캐릭터 타일링
gml draw_sprite_tiled_ext(enemy_sprite, image_index, x, y, 1, 1, c_green, 0.6);
- 특수 효과
gml draw_sprite_tiled_ext(special_effect_sprite, -1, mouse_x, mouse_y, 2, 2, c_yellow, 0.3);
- 다양한 색상 혼합
gml draw_sprite_tiled_ext(sprite_index, image_index, x, y, 1, 1, c_red, 0.5); draw_sprite_tiled_ext(sprite_index, image_index, x + 50, y + 50, 1, 1, c_blue, 0.5);
이와 같은 방식으로 draw_sprite_tiled_ext
함수를 활용하여 다양한 그래픽 효과를 구현할 수 있습니다.