draw_primitive_end 함수 설명
draw_primitive_end
함수는 프리미티브의 점 정의가 끝났음을 GameMaker에 알리는 역할을 합니다. 이 함수를 호출하지 않으면, 정의된 프리미티브가 화면에 그려지지 않습니다. 즉, 이 함수는 GameMaker에게 이제 그릴 준비가 되었음을 알려주는 신호입니다.
문법
draw_primitive_end();
반환값
- 해당 함수는 반환값이 없습니다.
예제
아래의 코드는 텍스처가 적용된 4개의 정점으로 이루어진 삼각형 스트립을 그리는 예제입니다.
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();
위의 코드는 _tex
변수에 저장된 텍스처를 사용하여 삼각형 스트립을 그립니다.
활용 예제
예제 번호 | 설명 | 코드 스니펫 |
---|---|---|
1 | 단순 사각형 그리기 | gml<br>draw_primitive_begin(pr_trianglefan);<br>draw_vertex(0, 0);<br>draw_vertex(100, 0);<br>draw_vertex(100, 100);<br>draw_vertex(0, 100);<br>draw_primitive_end(); |
2 | 텍스처가 있는 다각형 그리기 | gml<br>var _tex = sprite_get_texture(spr_Polygon, 0);<br>draw_primitive_begin_texture(pr_trianglefan, _tex);<br>draw_vertex_texture(0, 0, 0, 0);<br>draw_vertex_texture(100, 0, 1, 0);<br>draw_vertex_texture(100, 100, 1, 1);<br>draw_vertex_texture(0, 100, 0, 1);<br>draw_primitive_end(); |
3 | 애니메이션 효과를 위한 프리미티브 | gml<br>draw_primitive_begin(pr_line_strip);<br>for (var i = 0; i < 10; i++) {<br> draw_vertex(i * 10, sin(i) * 50);<br>}<br>draw_primitive_end(); |
이러한 예제들은 draw_primitive_end
함수를 활용하여 다양한 형태의 그래픽을 그리는 방법을 보여줍니다.