애플리케이션 서피스 활성화 및 비활성화
이 문서는 애플리케이션 서피스를 활성화하거나 비활성화하는 함수에 대해 설명합니다. 기본적으로 애플리케이션 서피스는 활성화되어 있으며, 모든 드로잉은 해당 서피스에 수행되고 화면에 그려집니다. 그러나 일부 구형 장치나 특정 칩셋에서는 성능 저하가 발생할 수 있습니다. 이러한 경우, 애플리케이션 서피스에 대한 드로잉을 비활성화하면 모든 드로잉이 직접 디스플레이 버퍼에 수행됩니다.
함수 사용법
이 함수를 사용하여 게임의 어느 시점에서든 애플리케이션 서피스를 활성화하거나 비활성화할 수 있습니다. 하지만 변경 사항이 적용되려면 최소한 한 프레임(스텝)이 필요합니다. 서피스를 비활성화하면 게임 옵션에서 설정한 모든 종횡비 보정이 비활성화됩니다. 따라서 게임을 필요한 장치, 창 또는 화면 크기에 맞게 조정하는 방법이 필요합니다. 다시 활성화하면 다음 스텝에서 게임 옵션이 다시 적용됩니다.
이 함수를 사용할 때는 주의가 필요하며, 화면에 그려지는 방식에 영향을 미칩니다. 일반적으로 게임 메뉴에서 옵션으로 제공하거나 게임 시작 시 한 번만 호출하고, 활성화 여부에 따라 코드를 작성하는 것이 좋습니다.
문법
application_surface_enable(enable);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
enable | Boolean | 애플리케이션 서피스를 활성화(true) 또는 비활성화(false) 설정 |
반환 값
- N/A
예제 코드
if (keyboard_check_pressed(vk_space)) {
if (application_surface_is_enabled()) {
application_surface_enable(false);
} else {
application_surface_enable(true);
}
}
위 코드는 키가 눌렸는지 확인하고, 애플리케이션 서피스의 상태에 따라 활성화 또는 비활성화합니다(옵션 메뉴와 유사).
활용 예제
- 게임 시작 시 서피스 비활성화
게임 시작 시 성능을 최적화하기 위해 애플리케이션 서피스를 비활성화할 수 있습니다.gml application_surface_enable(false);
- 옵션 메뉴에서 서피스 토글
사용자에게 서피스를 활성화하거나 비활성화할 수 있는 옵션을 제공할 수 있습니다.gml if (option_menu_selected) { application_surface_enable(!application_surface_is_enabled()); }
- 특정 이벤트에서 서피스 조정
특정 이벤트(예: 게임 종료 시)에서 서피스를 비활성화하여 성능을 개선할 수 있습니다.gml if (game_over) { application_surface_enable(false); }
- 서피스 활성화 후 화면 업데이트
서피스를 다시 활성화한 후 화면을 업데이트하는 코드를 작성할 수 있습니다.gml application_surface_enable(true); draw_surface(application_surface);
이와 같은 다양한 활용 방법을 통해 애플리케이션 서피스를 효과적으로 관리할 수 있습니다.