시퀀스 요소
이 섹션에서는 게임 룸 내에서 시퀀스가 어떻게 동작하는지를 추가, 제거 및 편집하는 데 사용되는 함수들에 대해 설명합니다. 시퀀스는 객체와 유사하게 동작하며, 룸의 레이어에 생성될 때 기본 시퀀스 객체의 인스턴스로 간주됩니다. 즉, 룸의 레이어에 시퀀스를 추가하면 기본 시퀀스 객체의 인스턴스가 생성되고, 이 시퀀스 인스턴스는 룸 레이어 내의 요소로 추가됩니다.
시퀀스 인스턴스는 재생 속도 및 방향과 같은 요소를 제어하며, 실제 시퀀스 트랙 데이터를 포함하는 또 다른 시퀀스 데이터 구조를 포함합니다. 아래에 나열된 함수들은 시퀀스 요소 ID(레이어의 시퀀스 ID)와 시퀀스 인스턴스 ID(요소가 참조하는 실제 시퀀스 ID), 그리고 시퀀스 데이터 구조(모든 시퀀스 데이터를 포함)를 참조합니다.
시퀀스 인스턴스 생성 및 편집 함수 목록
| 함수 이름 | 설명 |
|---|---|
| layer_sequence_exists | 시퀀스가 존재하는지 확인 |
| layer_sequence_create | 새로운 시퀀스 인스턴스 생성 |
| layer_sequence_destroy | 시퀀스 인스턴스 제거 |
| layer_sequence_x | 시퀀스 인스턴스의 X 좌표 가져오기 |
| layer_sequence_y | 시퀀스 인스턴스의 Y 좌표 가져오기 |
| layer_sequence_angle | 시퀀스 인스턴스의 각도 가져오기 |
| layer_sequence_xscale | 시퀀스 인스턴스의 X 스케일 가져오기 |
| layer_sequence_yscale | 시퀀스 인스턴스의 Y 스케일 가져오기 |
| layer_sequence_headpos | 시퀀스 인스턴스의 헤드 위치 가져오기 |
| layer_sequence_headdir | 시퀀스 인스턴스의 헤드 방향 가져오기 |
| layer_sequence_pause | 시퀀스 인스턴스 일시 정지 |
| layer_sequence_play | 시퀀스 인스턴스 재생 |
| layer_sequence_speedscale | 시퀀스 인스턴스의 속도 스케일 가져오기 |
| layer_sequence_get_x | 시퀀스 인스턴스의 X 좌표 가져오기 |
| layer_sequence_get_y | 시퀀스 인스턴스의 Y 좌표 가져오기 |
| layer_sequence_get_angle | 시퀀스 인스턴스의 각도 가져오기 |
| layer_sequence_get_xscale | 시퀀스 인스턴스의 X 스케일 가져오기 |
| layer_sequence_get_yscale | 시퀀스 인스턴스의 Y 스케일 가져오기 |
| layer_sequence_get_headpos | 시퀀스 인스턴스의 헤드 위치 가져오기 |
| layer_sequence_get_headdir | 시퀀스 인스턴스의 헤드 방향 가져오기 |
| layer_sequence_get_speedscale | 시퀀스 인스턴스의 속도 스케일 가져오기 |
| layer_sequence_get_length | 시퀀스 인스턴스의 길이 가져오기 |
| layer_sequence_get_instance | 시퀀스 인스턴스 가져오기 |
| layer_sequence_get_sequence | 시퀀스 가져오기 |
| layer_sequence_is_paused | 시퀀스가 일시 정지 상태인지 확인 |
| layer_sequence_is_finished | 시퀀스가 완료되었는지 확인 |
추가적으로 시퀀스의 내용을 다루고 자신만의 시퀀스를 정의하는 데 사용할 수 있는 함수들도 있습니다. 이러한 함수의 전체 목록은 다음 섹션에서 확인할 수 있습니다.
활용 예제
// 새로운 시퀀스 인스턴스 생성
var seq_instance = layer_sequence_create(layer, sequence_id, x, y);
// 시퀀스 인스턴스의 위치 변경
layer_sequence_x(seq_instance, new_x);
layer_sequence_y(seq_instance, new_y);
// 시퀀스 재생
layer_sequence_play(seq_instance);
// 시퀀스 일시 정지
layer_sequence_pause(seq_instance);
// 시퀀스의 현재 상태 확인
if (layer_sequence_is_paused(seq_instance)) {
// 일시 정지 상태일 때의 처리
}
// 시퀀스의 길이 가져오기
var length = layer_sequence_get_length(seq_instance);
이와 같은 함수들을 활용하여 게임 내에서 시퀀스를 효과적으로 관리하고 조작할 수 있습니다.