room_set_persistent 함수 설명
room_set_persistent 함수는 게임 내의 특정 방의 지속성을 변경하거나 설정하는 기능을 제공합니다. 현재 방을 제외한 다른 방에 적용할 수 있습니다. 지속성이 true로 설정된 방은 플레이어가 나갔다가 돌아올 때 모든 인스턴스의 상태를 유지합니다. 반면, false로 설정된 방은 매번 초기 상태로 리셋됩니다.
주의사항
- 지속성이 설정된 방은 일반 방보다 훨씬 더 많은 메모리를 사용하므로, 너무 많은 방에 지속성을 설정하는 것은 권장하지 않습니다.
- 이미 방문한 방의 지속성을 끌 수는 없습니다. 지속성이 설정된 방은 메모리에 유지되며, 지속성을 끄려면 해당 방으로 이동하여
room_persistent변수를false로 설정한 후 다시 방을 나가야 합니다.
문법
room_set_persistent(index, val);
인자 설명
| 인자 | 타입 | 설명 |
|---|---|---|
| index | Room Asset | 지속성을 설정할 방 |
| val | Boolean | 방의 지속성을 설정할 값 (true: 지속성 있음, false: 지속성 없음) |
예제
global.myroom = room_add();
room_set_width(global.myroom, 640);
room_set_height(global.myroom, 480);
room_set_persistent(global.myroom, true);
위의 코드는 새로운 방을 생성하고 그 인덱스를 global.myroom 변수에 저장합니다. 이후 방의 너비를 640픽셀, 높이를 480픽셀로 설정하고 지속성을 true로 설정합니다.
활용 예제
- 게임 저장 기능 구현
gml // 게임 진행 중 특정 방의 상태를 저장 room_set_persistent(global.saveRoom, true); - 레벨 디자인
gml // 특정 레벨 방을 지속적으로 유지 room_set_persistent(global.levelRoom, true); - 일시 정지 메뉴
gml // 일시 정지 메뉴 방을 생성하고 지속성 설정 global.pauseMenu = room_add(); room_set_persistent(global.pauseMenu, true); - 사용자 설정 방
gml // 사용자 설정을 위한 방을 생성 global.settingsRoom = room_add(); room_set_persistent(global.settingsRoom, true); - 게임 종료 후 복귀
gml // 게임 종료 후 복귀할 방 설정 room_set_persistent(global.returnRoom, true);
이와 같이 room_set_persistent 함수를 활용하여 게임 내 다양한 방의 상태를 관리하고, 플레이어의 경험을 향상시킬 수 있습니다.