타임라인 편집기
게임에서 특정한 순간에 특정한 일이 발생하도록 하고 싶을 때가 많습니다. 이를 알람 이벤트를 사용하여 시도할 수 있지만, 복잡해지면 더 이상 작동하지 않으며, 알람은 최대 12개로 제한됩니다. 그래서 타임라인 자산이 필요합니다. 타임라인에서는 게임 시간의 특정 순간에 어떤 행동이 일어나야 하는지를 지정할 수 있으며, 객체의 다양한 이벤트나 코드에서 사용할 수 있는 모든 행동을 정의할 수 있습니다. 타임라인을 생성한 후에는 이를 객체에 할당할 수 있으며, 해당 객체의 인스턴스는 방에 배치되거나 생성될 때 지정된 순간에 행동을 실행합니다.
활용 예제
예를 들어, 경비원이 왼쪽으로 20 타임 스텝 이동하고, 그 다음 위로 10, 오른쪽으로 20, 아래로 10 이동한 후 멈추게 하고 싶다고 가정해 보겠습니다. 이를 위해 타임라인을 만들고 처음에 왼쪽으로 이동하는 동작을 설정합니다. 그런 다음 20번째 순간에 위로 이동하는 동작을 설정하고, 30번째 순간에 오른쪽으로, 50번째 순간에 아래로, 마지막으로 60번째 순간에 멈추는 동작을 설정합니다. 이렇게 하면 경비원 객체에 이 타임라인을 할당하고 방에 배치했을 때 경비원이 계획한 대로 행동하게 됩니다. 타임라인에 알람을 설정하여 일정 시간 후 반복되도록 할 수도 있어 경비원이 특정 구역을 순찰하게 만들 수 있습니다.
타임라인을 사용하여 게임을 더 전반적으로 제어할 수도 있습니다. 예를 들어, 보이지 않는 컨트롤러 객체를 만들고, 특정 순간에 적을 생성하는 타임라인을 만든 후 이를 컨트롤러 객체에 할당하고 방에 인스턴스를 배치하면 됩니다. 이는 우주 슈팅 게임과 같은 게임에서 적의 타이밍 스폰을 쉽게 구현하는 방법입니다.
타임라인 생성 방법
- 자산 브라우저에서 타임라인 생성: 자산 브라우저에서 마우스 오른쪽 버튼을 클릭하고 "타임라인 생성"을 선택합니다. 그러면 다음과 같은 섹션이 있는 창이 열립니다.
섹션 | 설명 |
---|---|
이름 | 타임라인 자원에 이름을 부여합니다. 이름은 알파벳과 숫자, "_"만 포함할 수 있으며 숫자로 시작할 수 없습니다. 이 이름은 코드에서 타임라인을 참조하는 데 사용됩니다. |
순간 | 순간 값을 설정할 수 있습니다. 순간 값은 타임라인이 시작된 후 게임 스텝의 수로 계산됩니다. |
설명 | 타임라인의 순간을 이해하는 데 도움이 되는 설명을 추가할 수 있습니다. 이 설명은 게임 코드에서 사용되지 않으며, 오직 타임라인을 조직하고 이해하는 데만 사용됩니다. |
순간 추가 및 편집
새로운 순간을 추가할 때 GML 비주얼과 GML 코드를 선택할 수 있습니다. 순간을 추가하려면 편집기 하단의 "추가" 버튼을 클릭합니다. 새로운 순간을 추가하면 코드 편집기(또는 액션 편집기)가 열리며, 해당 순간에 호출할 함수나 GML 비주얼을 추가할 수 있습니다.
편집 옵션 | 설명 |
---|---|
추가 | 타임라인에 새로운 순간을 추가합니다. |
편집 | 현재 타임라인 순간을 편집합니다. |
순간 변경 | 선택한 타임라인 순간의 값을 변경합니다. |
복제 | 선택한 모든 타임라인 순간을 복제하여 현재 타임라인의 끝에 추가합니다. |
병합 | 두 개 이상의 순간을 선택하여 병합합니다. |
제거 | 선택한 순간을 타임라인에서 제거합니다. |
잘라내기/복사/붙여넣기 | 순간을 잘라내거나 복사하거나 붙여넣습니다. |
모두 선택 | 타임라인의 모든 순간을 선택합니다. |
GML 비주얼/코드로 변환 | 타임라인 순간을 생성할 때 선택한 방법에 따라 변환합니다. |
이러한 기능을 통해 타임라인을 쉽게 관리하고 원하는 대로 조정할 수 있습니다.