room_get_viewport 함수 설명
room_get_viewport 함수는 현재 방이 아닌 다른 방의 뷰포트(viewport) 세부 정보를 가져오는 기능을 제공합니다. 이 함수는 방과 뷰포트의 인덱스를 입력받아 해당 뷰포트의 정보를 배열 형태로 반환합니다. 반환되는 배열은 다음과 같은 5개의 요소로 구성됩니다:
| 인덱스 | 설명 |
|---|---|
| [0] | visible (Boolean: true/false) |
| [1] | x 위치 (실수) |
| [2] | y 위치 (실수) |
| [3] | 너비 (실수) |
| [4] | 높이 (실수) |
문법
room_get_viewport(rm, vind);
매개변수
| 매개변수 | 타입 | 설명 |
|---|---|---|
| rm | Room Asset | 뷰포트 데이터를 가져올 방 |
| vind | Real | 가져올 뷰포트의 인덱스 (0부터 7까지) |
반환값
- 배열 (5 요소: visible, x, y, width, height)
예제
var _view_values = room_get_viewport(rm_Game, 0);
var _visible_text = _view_values[0] ? "visible" : "invisible";
show_debug_message($"Viewport 0 in rm_Game is {_visible_text} and drawn at the position: {_view_values[1]}, {_view_values[2]}. Its dimensions are {_view_values[3]}x{_view_values[4]}.");
위의 코드는 주어진 방의 뷰포트 데이터를 가져온 후, 해당 뷰포트가 보이는지 여부를 확인합니다. 만약 보이지 않는다면, 뷰포트 데이터를 수정하여 보이도록 설정할 수 있습니다.
활용 예제
1. 여러 뷰포트 정보 가져오기
for (var i = 0; i < 8; i++) {
var _view_values = room_get_viewport(rm_Game, i);
// 각 뷰포트의 정보를 처리하는 코드
}
2. 뷰포트의 위치와 크기 조정
var _view_values = room_get_viewport(rm_Game, 0);
if (!_view_values[0]) {
// 뷰포트가 보이지 않으면 위치와 크기를 조정
var new_x = 100;
var new_y = 100;
var new_width = 800;
var new_height = 600;
// 뷰포트 설정 코드
}
3. 뷰포트 상태에 따른 게임 로직 처리
var _view_values = room_get_viewport(rm_Game, 1);
if (_view_values[0]) {
// 뷰포트가 보이면 특정 행동 수행
} else {
// 뷰포트가 보이지 않으면 다른 행동 수행
}
이와 같은 방식으로 room_get_viewport 함수를 활용하여 게임의 다양한 뷰포트 정보를 관리하고, 게임 로직을 구현할 수 있습니다.