draw_primitive_begin_texture 함수 설명
draw_primitive_begin_texture 함수는 텍스처가 있는 원시 도형의 정점을 정의하기 전에 호출해야 합니다. 이 함수는 사용할 원시 도형의 종류와 사용할 텍스처의 ID를 지정해야 합니다. 텍스처 ID는 스프라이트 자산이나 서피스의 ID일 수 있으며, sprite_get_texture 함수를 사용하여 가져올 수 있습니다. 텍스처를 사용하지 않으려면 -1을 사용합니다.
문법
draw_primitive_begin_texture(kind, tex);
인수 설명
| 인수 | 타입 | 설명 |
|---|---|---|
| kind | Primitive Type Constant | 그릴 원시 도형의 종류 |
| tex | Texture | 원시 도형과 함께 사용할 텍스처 (-1은 텍스처 없음) |
반환 값
- 해당 없음
예제 코드
draw_set_colour(c_white);
var _tex = sprite_get_texture(spr_Background, 0);
draw_primitive_begin_texture(pr_trianglestrip, _tex);
draw_vertex_texture(0, 0, 0, 0);
draw_vertex_texture(640, 0, 1, 0);
draw_vertex_texture(0, 480, 0, 1);
draw_vertex_texture(640, 480, 1, 1);
draw_primitive_end();
위의 코드는 4개의 정점으로 이루어진 삼각형 스트립(사각형을 만듭니다)을 그리며, _tex 변수에 저장된 텍스처로 텍스처가 입혀집니다. 전체 텍스처가 완성된 원시 도형을 덮는 데 사용됩니다.
활용 예제
예제 1: 배경 텍스처 그리기
draw_set_colour(c_white);
var _background_tex = sprite_get_texture(spr_Background, 0);
draw_primitive_begin_texture(pr_trianglefan, _background_tex);
draw_vertex_texture(0, 0, 0, 0);
draw_vertex_texture(640, 0, 1, 0);
draw_vertex_texture(640, 480, 1, 1);
draw_vertex_texture(0, 480, 0, 1);
draw_primitive_end();
예제 2: 캐릭터 스프라이트 그리기
draw_set_colour(c_white);
var _character_tex = sprite_get_texture(spr_Character, 0);
draw_primitive_begin_texture(pr_trianglelist, _character_tex);
draw_vertex_texture(100, 100, 0, 0);
draw_vertex_texture(150, 100, 1, 0);
draw_vertex_texture(125, 150, 0.5, 1);
draw_primitive_end();
예제 3: UI 요소 그리기
draw_set_colour(c_white);
var _ui_tex = sprite_get_texture(spr_UI, 0);
draw_primitive_begin_texture(pr_rectangle, _ui_tex);
draw_vertex_texture(300, 200, 0, 0);
draw_vertex_texture(500, 200, 1, 0);
draw_vertex_texture(500, 400, 1, 1);
draw_vertex_texture(300, 400, 0, 1);
draw_primitive_end();
이와 같은 방식으로 draw_primitive_begin_texture 함수를 활용하여 다양한 그래픽 요소를 그릴 수 있습니다.