FPS (프레임 속도) 이해하기
GameMaker에서 게임이 실행되는 속도를 측정하는 두 가지 주요 방법이 있습니다. 바로 게임 속도(게임 옵션에서 설정)와 FPS(초당 프레임 수)입니다. 이 두 값은 종종 혼동되지만, 기본적으로 하나는 GameMaker가 1초에 완료해야 하는 게임 스텝의 수이고, 다른 하나는 GameMaker가 실제로 1초에 완료하는 CPU 스텝의 수입니다. 이 값은 방 속도(room speed)의 최대값까지 제한됩니다.
실제 FPS, 즉 게임 스텝당 CPU 스텝의 수를 얻으려면 fps_real
변수를 사용하세요. 이 읽기 전용 변수는 현재 FPS를 정수 값으로 반환합니다. 이 함수는 게임의 각 스텝마다 한 번만 업데이트되므로 값이 "점프"하는 것처럼 보일 수 있지만, 이는 정상적인 현상입니다.
문법
fps
반환 값
현재 FPS 값
예제
if (debug_mode) {
draw_text(32, 32, "FPS = " + string(fps));
}
위 코드는 게임이 디버그 모드인지 확인하고, 그렇다면 현재 FPS를 화면에 표시합니다.
활용 예제
- FPS 표시하기
gml if (debug_mode) { draw_text(10, 10, "Current FPS: " + string(fps)); }
- FPS에 따른 게임 속도 조정
gml if (fps < 30) { speed = speed * 0.9; // FPS가 30 미만일 경우 속도 감소 }
- FPS 기록하기
gml var current_fps = fps; fps_history[step_count] = current_fps; // FPS 기록
- FPS에 따른 배경 색상 변경
gml if (fps < 20) { background_color = c_red; // FPS가 20 미만일 경우 배경을 빨간색으로 }
- FPS에 따른 적의 행동 변화
gml if (fps > 60) { enemy_speed = 2; // FPS가 60 초과일 경우 적의 속도 증가 }
표 예시
속성 | 설명 |
---|---|
게임 속도 | 게임 옵션에서 설정하는 속도 |
FPS | 실제 CPU가 처리하는 프레임 수 |
fps_real | 현재 FPS를 반환하는 읽기 전용 변수 |
debug_mode | 디버그 모드 여부 |
step_count | 현재 스텝 수 |
이 문서에서는 FPS와 관련된 기본 개념과 활용 예제를 설명했습니다. 추가적인 활용 방법이나 응용에 대해 더 알아보세요.