room_exists 함수 설명 및 활용 예제
함수 설명
room_exists 함수는 주어진 방이 존재하는지 확인하는 기능을 제공합니다. 이 함수는 방의 인덱스(실수형 숫자)를 인자로 받으며, 방의 이름(문자열)은 받지 않습니다. 이 함수는 room_add 함수를 사용하여 동적으로 방을 생성할 때 가장 유용하지만, room_first, room_last와 같은 읽기 전용 변수나 room_next, room_previous 함수를 사용하여 특정 방의 인덱스를 얻거나 게임 내 다른 방의 인덱스를 저장한 변수를 제공하는 데에도 사용할 수 있습니다.
문법
room_exists(index);
인자 설명
| 인자 | 타입 | 설명 |
|---|---|---|
| index | Room Asset | 확인할 방의 인덱스 |
반환값
- Boolean: 방이 존재하면
true, 존재하지 않으면false를 반환합니다.
예제
다음 코드는 global.rm 배열에 저장된 인덱스가 존재하는지 확인하고, 존재할 경우 해당 방으로 이동합니다.
if (room_exists(global.rm[0])) {
room_goto(global.rm[0]);
}
활용 예제
1. 방 생성 후 존재 여부 확인
방을 동적으로 생성한 후, 해당 방이 존재하는지 확인하는 예제입니다.
var newRoom = room_add("New Room");
if (room_exists(newRoom)) {
show_message("방이 성공적으로 생성되었습니다.");
}
2. 방 목록 탐색
게임 내 모든 방을 탐색하며 존재 여부를 확인하는 예제입니다.
var currentRoom = room_first;
while (currentRoom != room_last) {
if (room_exists(currentRoom)) {
// 방이 존재할 경우 처리
}
currentRoom = room_next(currentRoom);
}
3. 방 이동 조건 설정
특정 조건에 따라 방으로 이동하는 예제입니다.
if (room_exists(global.rm[1]) && player_score > 100) {
room_goto(global.rm[1]);
} else {
show_message("조건을 만족하지 않습니다.");
}
4. 방 존재 여부에 따른 게임 진행
게임의 진행 상황에 따라 방의 존재 여부를 체크하는 예제입니다.
if (room_exists(global.currentRoom)) {
// 현재 방에서 게임 진행
} else {
// 방이 존재하지 않으므로 다른 방으로 이동
room_goto(global.defaultRoom);
}
이와 같이 room_exists 함수는 방의 존재 여부를 확인하는 데 유용하게 사용될 수 있으며, 다양한 상황에서 활용될 수 있습니다.