타임라인 액션 안내서
타임라인은 게임 내 사건을 조절하는 강력한 메커니즘으로, "모먼트"를 기반으로 합니다. 여기서 "모먼트"란 단순히 하나의 게임 스텝을 뜻합니다. 타임라인은 자산 브라우저에서 오브젝트처럼 생성되며, 타임라인 편집기에서 생성 후 필요한 모먼트마다 코드나 GML 비주얼 액션을 추가하여 수행할 수 있습니다.
타임라인 리소스가 생성되면 다음과 같은 액션을 통해 이를 시작, 정지, 조작할 수 있습니다.
타임라인 액션
| 액션 | 설명 |
|---|---|
| Set Instance Timeline | 특정 인스턴스에 타임라인을 설정합니다. |
| Set Timeline Moment | 특정 모먼트로 타임라인을 설정합니다. |
| Set Timeline Speed | 타임라인의 속도를 조절합니다. |
| Set Timeline State | 타임라인의 상태를 변경합니다. |
| Back:Index | 이전 모먼트로 이동합니다. |
| Next | 다음 모먼트로 이동합니다. |
활용 및 응용 예제
1. 기본 타임라인 생성
타임라인을 생성한 후 특정 행동을 수행하도록 코드를 설정하는 예제입니다.
// 타임라인 생성 예제
timeline_example = timeline_add();
timeline_add_event(timeline_example, 0, "이동 시작");
2. 모먼트에서 액션 설정
타임라인의 특정 모먼트에서 액션을 설정하는 방법입니다.
// 첫 번째 모먼트에서 스프라이트 변경
timeline_add_event(timeline_example, 1, "스프라이트 변경");
sprite_index = spr_character_running;
3. 타임라인 속도 조절
게임 내 타임라인의 속도를 조절하는 방법입니다.
// 타임라인 속도 변경
timeline_set_speed(timeline_example, 2.0); // 2배 빠르게
4. 타임라인 상태 변경
타임라인의 상태를 '실행 중' 또는 '일시 정지' 상태로 변경하는 예제입니다.
// 타임라인을 일시 정지
timeline_set_state(timeline_example, tl_pause);
5. Back 및 Next 동작 구현
타임라인의 모먼트를 이전 또는 다음으로 이동하는 방법입니다.
// 이전 모먼트로 이동
timeline_back(timeline_example, 1);
// 다음 모먼트로 이동
timeline_next(timeline_example);
이러한 예제를 통해 타임라인을 효과적으로 사용할 수 있으며, 다양한 게임 내 상황 및 이벤트에 맞춰 조정할 수 있습니다.