room_add 함수 설명 및 활용 예제
room_add 함수는 새로운 빈 방을 생성하고 게임에 추가하는 기능을 제공합니다. 이 함수는 생성된 방의 인덱스를 반환하며, 이후 이 방과 관련된 모든 코드에서 사용할 수 있도록 변수를 저장해야 합니다. 이렇게 추가된 방은 실행 파일이 종료될 때까지 게임에 영구적으로 추가됩니다. 즉, 코드로 추가된 방은 다시 삭제할 수 없습니다. 이는 메모리 사용에 중요한 영향을 미치므로 이 함수를 신중하게 사용해야 합니다.
문법
room_add();
반환값
- 방 자산의 인덱스
예제
다음은 room_add 함수를 사용하여 새로운 방을 생성하고 설정하는 예제입니다.
global.myroom = room_add();
room_set_width(global.myroom, 1280);
room_set_height(global.myroom, 720);
room_set_persistent(global.myroom, false);
위 코드는 새로운 방을 생성하고 이를 global.myroom 변수에 저장합니다. 이후 방의 너비를 1280픽셀, 높이를 720픽셀로 설정하고, 지속성을 false로 설정합니다.
활용 예제
| 예제 번호 | 설명 |
|---|---|
| 1 | 게임의 레벨을 동적으로 생성할 때 사용 |
| 2 | 사용자 정의 맵 에디터에서 방을 추가할 때 사용 |
| 3 | 특정 이벤트 발생 시 새로운 방을 생성하여 게임 진행 |
| 4 | 다양한 게임 모드에 따라 방을 추가하여 게임의 다양성 증가 |
| 5 | 방의 속성을 설정하여 특정 조건에 맞는 방을 생성 |
활용 예제 코드 스니펫
- 게임 레벨 생성
gml global.levelRoom = room_add(); room_set_width(global.levelRoom, 1920); room_set_height(global.levelRoom, 1080); - 사용자 정의 맵 에디터
gml if (editor_mode) { global.customRoom = room_add(); room_set_persistent(global.customRoom, true); } - 이벤트에 따른 방 생성
gml if (player_score > 1000) { global.bonusRoom = room_add(); room_set_width(global.bonusRoom, 640); room_set_height(global.bonusRoom, 480); } - 다양한 게임 모드
gml if (game_mode == "survival") { global.survivalRoom = room_add(); room_set_persistent(global.survivalRoom, true); } - 특정 조건에 맞는 방 생성
gml if (player_health < 20) { global.safeRoom = room_add(); room_set_width(global.safeRoom, 800); room_set_height(global.safeRoom, 600); }