surface_get_target 함수 설명
surface_get_target
함수는 현재 그리기 대상(surface)으로 설정된 서페이스를 가져오는 기능을 제공합니다. 이 함수는 몇 가지 값을 반환할 수 있습니다:
- 사용자가
surface_create
를 통해 생성한 서페이스가 있을 경우, 해당 서페이스가 반환됩니다. - 커스텀 서페이스가 설정되어 있지 않지만 기본 애플리케이션 서페이스가 활성화되어 있는 경우, 애플리케이션 서페이스가 반환됩니다. 그러나 이전에 애플리케이션 서페이스를 조작한 경우, 현재
application_surface
변수의 값과 일치하는지 확인하는 것이 좋습니다. - 커스텀 서페이스가 설정되어 있지 않고 기본 애플리케이션 서페이스도 비활성화된 경우, 함수는 -1을 반환합니다.
문법
surface_get_target();
반환값
- 서페이스 또는 -1 (타겟 서페이스가 설정되지 않은 경우)
예제 코드
if (surface_get_target() != -1) {
surface_reset_target();
}
draw_surface(surf, 0, 0);
위의 코드는 현재 렌더 타겟이 서페이스인지 확인하고, 서페이스일 경우 그리기 대상을 초기화합니다. 이후 surf
변수에 저장된 서페이스를 그립니다.
활용 예제
예제 번호 | 설명 |
---|---|
1 | 현재 서페이스가 유효한지 확인하고, 유효하다면 다른 서페이스로 전환하기 |
2 | 서페이스가 비활성화된 경우, 기본 애플리케이션 서페이스로 그리기 |
3 | 여러 서페이스를 사용하여 복잡한 그래픽을 그릴 때, 현재 서페이스를 관리하기 |
4 | 서페이스를 사용하여 게임의 UI 요소를 그릴 때, 현재 서페이스를 확인하고 조정하기 |
예제 코드 스니펫
// 예제 1: 현재 서페이스가 유효한지 확인
if (surface_get_target() != -1) {
// 다른 서페이스로 전환
surface_set_target(other_surface);
}
// 예제 2: 서페이스가 비활성화된 경우
if (surface_get_target() == -1) {
draw_surface(application_surface, 0, 0);
}
// 예제 3: 여러 서페이스를 사용하여 복잡한 그래픽 그리기
surface_set_target(complex_surface);
// 복잡한 그래픽 그리기 코드
surface_reset_target();
// 예제 4: UI 요소 그리기
if (surface_get_target() != -1) {
draw_surface(ui_surface, 0, 0);
}