카메라 생성 및 뷰 설정
이 문서는 카메라를 생성하고 뷰를 설정하는 방법에 대해 설명합니다. 이 함수는 새로운 카메라를 만들고, 방에 뷰를 설정한 후, 카메라를 식별할 수 있는 고유 ID 값을 반환합니다. 카메라는 방 편집기에서 설정한 위치, 크기 및 기타 세부 정보를 기반으로 생성됩니다.
함수 설명
카메라 생성 함수는 다음과 같은 인자를 받을 수 있습니다:
- room_x: 카메라 뷰가 캡처할 영역의 왼쪽 x 위치.
- room_y: 카메라 뷰가 캡처할 영역의 위쪽 y 위치.
- width: 뷰가 캡처할 영역의 너비.
- height: 뷰가 캡처할 영역의 높이.
- angle: 카메라 뷰의 각도 (0° - 360°, 기본값은 0).
- object: 카메라 뷰가 따라갈 객체의 ID (기본값은 -1, 즉 객체 없음).
- x_speed: 뷰가 이동할 수 있는 최대 수평 속도 (기본값은 -1, 즉 즉각적인 추적).
- y_speed: 뷰가 이동할 수 있는 최대 수직 속도 (기본값은 -1, 즉 즉각적인 추적).
- x_border: 뷰 영역의 가장자리와 따라갈 인스턴스 사이의 최소 수평 공간 (기본값은 0).
- y_border: 뷰 영역의 가장자리와 따라갈 인스턴스 사이의 최소 수직 공간 (기본값은 0).
반환값
- 카메라 ID
사용 예제
아래는 카메라를 생성하고 뷰를 설정하는 예제 코드입니다:
camera_destroy(view_camera[0]);
view_camera[0] = camera_create_view(0, 0, 640, 480, 0, obj_Player, 5, 5, -1, -1);
위 코드는 현재 viewport[0]에 할당된 카메라를 제거한 후, 새로운 카메라를 생성하고 그 뷰 속성을 정의한 다음, viewport[0]에 할당합니다.
활용 예제
예제 번호 | 설명 |
---|---|
1 | 카메라를 생성하고 특정 객체를 따라가게 설정하기 |
2 | 카메라의 각도를 변경하여 뷰를 회전시키기 |
3 | 카메라의 속도를 조절하여 부드러운 이동 구현하기 |
4 | 여러 카메라를 생성하여 다양한 뷰를 전환하기 |
5 | 카메라의 경계를 설정하여 특정 영역만 캡처하기 |
예제 코드 스니펫
- 카메라를 생성하고 특정 객체를 따라가게 설정하기:
var cam = camera_create_view(0, 0, 640, 480, 0, obj_Player);
- 카메라의 각도를 변경하여 뷰를 회전시키기:
camera_set_angle(cam, 45);
- 카메라의 속도를 조절하여 부드러운 이동 구현하기:
camera_set_x_speed(cam, 3);
camera_set_y_speed(cam, 3);
- 여러 카메라를 생성하여 다양한 뷰를 전환하기:
var cam1 = camera_create_view(0, 0, 640, 480);
var cam2 = camera_create_view(640, 0, 640, 480);
- 카메라의 경계를 설정하여 특정 영역만 캡처하기:
camera_set_x_border(cam, 50);
camera_set_y_border(cam, 50);