카메라 업데이트 스크립트 설정
camera_set_update_script
함수는 카메라가 할당된 활성 뷰포트에서 매 게임 프레임마다 호출될 스크립트 함수를 설정하는 데 사용됩니다. 이 함수는 고유한 카메라 ID 값(다양한 camera_create
함수에서 반환됨)과 호출할 함수의 ID를 인수로 받습니다.
함수 호출 순서
카메라와 관련된 함수 호출 순서는 다음과 같습니다:
- 모든 활성 뷰포트에 대해 카메라의 업데이트 함수가 호출됩니다.
- 각 뷰에 대해:
- 해당 뷰의 카메라에 대한
begin
함수가 호출됩니다. - 해당 뷰의 드로우 이벤트가 실행됩니다.
- 카메라의
end
함수가 호출됩니다. - 다음 활성 뷰로 이동하고 반복합니다.
사용자 정의 업데이트 함수를 카메라에 적용하면 기본 업데이트 동작이 무시됩니다. 예를 들어, camera_create_view
를 호출할 때 카메라가 객체(예: obj_player
)를 따라가도록 설정했거나 방 속성에서 그렇게 설정했더라도, 사용자 정의 업데이트 스크립트를 설정하면 그 객체를 더 이상 따라가지 않게 됩니다.
문법
camera_set_update_script(camera_id, script);
인수 설명
인수 | 타입 | 설명 |
---|---|---|
camera_id | Camera ID | 카메라를 생성할 때 반환된 고유한 카메라 ID 값입니다. |
script | Script Function | 매 게임 프레임마다 실행할 스크립트 함수입니다. (-1은 업데이트 스크립트 없음) |
반환값
- N/A
예제
camera_set_update_script(view_camera[0], updateCamera);
위 코드는 뷰포트 [0]에 할당된 카메라의 업데이트 함수를 updateCamera
로 설정합니다.
활용 예제
- 카메라가 플레이어를 따라가도록 설정하기
gml camera_set_update_script(view_camera[0], followPlayer);
- 특정 객체를 중심으로 카메라 이동하기
gml camera_set_update_script(view_camera[1], centerOnObject);
- 카메라의 줌 효과 적용하기
gml camera_set_update_script(view_camera[2], applyZoomEffect);
- 카메라의 회전 효과 적용하기
gml camera_set_update_script(view_camera[3], rotateCamera);
- 다양한 뷰포트에 서로 다른 업데이트 스크립트 적용하기
gml camera_set_update_script(view_camera[0], updateCamera1); camera_set_update_script(view_camera[1], updateCamera2);
이러한 예제들은 카메라의 동작을 사용자 정의하여 게임의 다양한 상황에 맞게 조정할 수 있는 방법을 보여줍니다.