매트릭스 스택 팝 (matrix_stack_pop)
이 문서는 matrix_stack_pop
함수에 대해 설명합니다. 이 함수는 현재 매트릭스 스택의 맨 위에 있는 매트릭스를 제거합니다.
문법
matrix_stack_pop();
반환값
이 함수는 반환값이 없습니다.
사용 예제
아래의 예제 코드는 두 개의 새로운 매트릭스를 생성하고 이를 매트릭스 스택에 추가한 후, 스택의 맨 위 매트릭스를 제거하는 과정을 보여줍니다.
var m1 = matrix_build(66, 145, 0, 0, 0, 0, 1, 1, 1);
var m2 = matrix_build(0, 0, 0, 0, 0, image_angle * 6, 1, 1, 1);
matrix_stack_push(m1);
matrix_stack_push(m2);
matrix_set(matrix_world, matrix_stack_top());
draw_sprite(spr_tyre, 0, 0, 0);
matrix_stack_pop();
matrix_stack_pop();
위의 코드는 두 개의 매트릭스를 생성한 후, 이를 매트릭스 스택에 푸시(push)합니다. 그 후, 스택의 맨 위 매트릭스를 월드 매트릭스로 설정하고, 스프라이트를 그린 후, 스택에서 매트릭스를 팝(pop)합니다.
활용 예제
예제 번호 | 설명 |
---|---|
1 | 스프라이트의 회전을 적용하기 위해 매트릭스를 사용하고, 그 후 원래 상태로 되돌리기 |
2 | 여러 개의 스프라이트를 그릴 때 각 스프라이트에 다른 변환을 적용하기 |
3 | 애니메이션 효과를 위해 매트릭스를 쌓고, 특정 프레임에서 팝하여 이전 상태로 복원하기 |
4 | 게임 오브젝트의 위치와 회전을 조정하기 위해 매트릭스를 사용하고, 조정 후 원래 위치로 되돌리기 |
이러한 예제들은 matrix_stack_pop
함수를 활용하여 매트릭스 변환을 관리하는 다양한 방법을 보여줍니다.