surface_resize 함수 설명
surface_resize
함수는 주어진 크기(픽셀 단위)로 서피스를 크기 조정합니다. "surface_id"는 이전에 생성한 서피스의 ID이거나 application_surface
입니다. 이 함수는 서피스를 크기 조정하지만, 서피스의 내용을 잘라내거나 늘리지 않습니다. 대신 현재 서피스를 파괴하고 새로운 크기로 동일한 핸들(surface_id
)로 재생성합니다. 따라서 서피스를 다시 지우고 그려야 합니다. 단, application_surface
의 경우 GameMaker가 자동으로 처리합니다.
서피스를 크기 조정할 때, 이러한 변경 사항은 다음 드로우 프레임이 시작될 때까지 등록되지 않으며, 같은 이벤트나 스텝에서 surface_get_width
또는 surface_get_height
함수를 호출하면 이전 값을 반환합니다.
문법
surface_resize(surface_id, w, h);
인수 설명
인수 | 타입 | 설명 |
---|---|---|
surface_id | Surface | 크기를 조정할 서피스 |
w | Real | 서피스의 새로운 너비 |
h | Real | 서피스의 새로운 높이 |
반환값
N/A
활용 예제
아래 코드는 application_surface
의 뷰 포트 크기를 확인하고, 다르면 서피스를 크기 조정하는 예제입니다.
||
|---|
surface_resize(application_surface, view_wport[0], view_hport[0]);
}
추가 활용 예제
- 서피스 크기 조정 후 초기화
surface_resize(my_surface, 800, 600);
draw_surface(my_surface, 0, 0);
- 서피스 크기 조정과 배경 그리기
if (some_condition) {
surface_resize(my_surface, 1024, 768);
draw_background(my_background, 0, 0);
}
- 서피스 크기 조정 시 애니메이션 효과
if (animation_trigger) {
surface_resize(my_surface, new_width, new_height);
draw_sprite(my_sprite, 0, x, y);
}
- 서피스 크기 조정 후 텍스트 출력
surface_resize(my_surface, 640, 480);
draw_text(10, 10, "서피스가 조정되었습니다.");
- 서피스 크기 조정과 사용자 입력 처리
if (keyboard_check_pressed(vk_space)) {
surface_resize(my_surface, 1280, 720);
}
이와 같이 surface_resize
함수를 활용하여 다양한 그래픽 효과와 사용자 인터페이스를 구현할 수 있습니다.