Replay 오브젝트는 게임 표준에서 발생한 이벤트를 재생하는 데 사용할 수 있습니다.
기본적으로 리플레이 오브젝트는 모든 움직이는 유닛의 위치를 기록하고, record_debug_line(), record_screen_debug_text() 및 record_world_debug_text() 함수를 통해 기록된 디버그 선 및 디버그 텍스트까지 모두 기록합니다. 리플레이를 재생하면 기록된 유닛이 기록되어 있는 위치로 자동으로 움직이고, 기록되어 있는 디버그 선 및 디버그 텍스트가 그려집니다.
Replay 클래스는 주로 AI 및 기타 스크립트 관련 작업을 위한 디버그 도구로 사용됩니다. 게임에서 무언가 이상한 일이 발생하면 리플레이 시스템을 사용하여 게임을 일시 중지한 다음, 뒤로 다시 돌려보고, 디버그 테스트 및 디버그 선을 조사해 AI가 그런 결정을 내린 이유를 확인해 볼 수 있습니다.
리플레이 시스템은 데이터를 원형 버퍼 또는 링 버퍼에 기록합니다. PC에서 이 버퍼의 기본 크기는 50MB입니다. 메모리 제약이 좀 더 강한 플랫폼에서는 1MB 정도입니다. 이 버퍼의 크기와 데이터를 기록하는 표준의 유닛 수에 따라 되돌려 볼 때 "뒤로 어디까지" 갈 수 있을지가 정해집니다.
리플레이 시스템은 개발 모드에서만 사용할 수 있으며, Application.ENABLE_REPLAY 플래그를 지정한 채로 생성한 World에서만 사용할 수 있습니다. 리플레이를 표준에 대해 활성화한 경우 World.replay()를 호출하여 리플레이 제어기에 액세스할 수 있습니다.
뒤로 돌려 볼 때에는 리플레이 시스템이 표준 내 유닛을 기록되어 있는 위치로 움직입니다. 리플레이 시스템과 간섭이 발생하지 않도록 동시에 자체적으로 유닛을 움직이는 일은 삼가야 합니다.
참고: 리플레이 시스템은 진행 중인 작업으로 고려해야 합니다. API는 이후 버전에서 변경될 수도 있습니다.
|
현재 재생 프레임을 반환합니다.
|
|
리플레이 시스템이 현재 재생 모드 상태인지 여부를 나타냅니다.
|
매개변수 반환하는 항목 boolean |
리플레이 시스템이 현재 재생 모드 상태이면 true를, 현재 기록 중이면 false를 반환합니다.
|
|
리플레이 시스템에 기록된 데이터의 프레임 수를 반환합니다.
|
|
점 p1과 p2 사이에 지정된 색상으로 그려진 디버그 선을 기록합니다.
|
매개변수 반환하는 항목
기록된 디버그 선은 재생 중에만 그려집니다.
|
화면 공간 내 지정된 위치에 지정된 색상으로 그려질 디버그 텍스트의 선을 기록합니다.
|
매개변수 반환하는 항목
텍스트는 재생 중에만 그려집니다.
|
표준 공간 내 지정된 위치에 지정된 색상으로 그려질 디버그 텍스트의 선을 기록합니다.
|
매개변수 반환하는 항목
텍스트는 재생 중에만 그려집니다.
|
현재 재생 프레임을 설정합니다.
|
매개변수 self : | stingray.Replay | 이 함수가 작동하는 오브젝트 인스턴스를 지정합니다. 콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오. |
frame : | integer | 재생할 프레임입니다. |
반환하는 항목
|
지정된 유닛의 데이터를 기록하는 방법을 제어합니다.
|
매개변수 self : | stingray.Replay | 이 함수가 작동하는 오브젝트 인스턴스를 지정합니다. 콜론 : 호출 구문을 사용하여 이 오브젝트의 인스턴스에 대해 이 함수를 호출할 수도 있습니다. 그렇게 하는 경우에는 이 매개변수를 생략해야 합니다. 자세한 내용은 이 Stingray 도움말 항목 또는 Lua 설명서의 이 페이지를 참조하십시오. |
unit : | stingray.Unit | 데이터를 기록할 유닛입니다. |
mode : | integer | 기록 모드입니다. [record mode] 값 중 하나일 수 있습니다. |
반환하는 항목
기본적으로 리플레이 시스템은 리플레이 버퍼에 사용되는 메모리 용량을 줄이기 위해 애니메이션된 유닛의 루트 위치만 기록합니다.
|
기록된 데이터의 재생을 시작합니다.
|
매개변수 반환하는 항목
첫 번째 기록 프레임에서 재생을 시작합니다.
|
재생을 끝내고, 기록 모드로 돌아갑니다.
|
이 그룹의 상수는 set_unit_record_mode() 호출로 전달되어 특정 유닛에 대해 리플레이 시스템이 사용할 기록 모드를 설정합니다.
|
해당 유닛에 대해 기록을 비활성화하도록 지정합니다.
|
|
해당 유닛의 장면 그래프 내 모든 노드의 변환이 기록되도록 지정합니다.
|
이렇게 하면 유닛의 전체 애니메이션이 저장됩니다.