view_get_surface_id 함수 설명
view_get_surface_id
함수는 주어진 뷰 포트에 할당된 서피스의 고유 ID 값을 가져오는 데 사용됩니다. 만약 서피스가 할당되지 않았다면 -1을 반환합니다.
문법
view_get_surface_id(view_port)
인수
인수 이름 | 타입 | 설명 |
---|---|---|
view_port | 정수 | 타겟 뷰 포트 (0 - 7) |
반환값
- 서피스 ID (할당되지 않은 경우 -1)
예제
if (view_get_surface_id(0) == -1) {
view_set_surface_id(0, global.vSurf);
}
위 코드는 뷰 포트 [0]에 서피스가 할당되어 있는지 확인하고, 할당되지 않았다면 서피스를 할당합니다.
활용 및 응용 예제
예제 1: 서피스 할당 확인
var surfaceID = view_get_surface_id(1);
if (surfaceID == -1) {
// 서피스가 할당되지 않았으므로 새 서피스를 생성
var newSurface = surface_create(800, 600);
view_set_surface_id(1, newSurface);
}
예제 2: 여러 뷰 포트에 서피스 할당
for (var i = 0; i < 4; i++) {
if (view_get_surface_id(i) == -1) {
var newSurface = surface_create(800, 600);
view_set_surface_id(i, newSurface);
}
}
예제 3: 서피스 ID를 사용한 렌더링
var surfaceID = view_get_surface_id(2);
if (surfaceID != -1) {
surface_set_target(surfaceID);
// 렌더링 코드
draw_self();
surface_reset_target();
}
예제 4: 서피스 해제
var surfaceID = view_get_surface_id(3);
if (surfaceID != -1) {
view_set_surface_id(3, -1); // 서피스 해제
surface_free(surfaceID); // 메모리 해제
}
이와 같이 view_get_surface_id
함수를 활용하여 뷰 포트에 서피스를 관리하고, 필요한 경우 서피스를 생성하거나 해제할 수 있습니다.