# ActionSequence

ActionSequence : `Instance`

## Overview

액션시퀀스는 하나의 액션에서 애니메이션, 이펙트, 카메라 등의 연출을 타임라인에서 통합적으로 구성할 수 있는 인스턴스입니다. 게임에서 자주 사용되는 다양한 연출과 스크립트 실행 시점을 타임라인 기반 편집 환경에서 시각적으로 구성할 수 있습니다.

액션시퀀스는 **정적 데이터 기반**으로 정의된 객체로, 런타임에서 Instance.new 또는 Clone을 통해 직접 생성할 수 없습니다.

Humanoid 하위의 **ActionRunner**에서 Play 메서드를 통해 실행이 요청되면, 원본 인스턴스는 Humanoid.ActionRunner 하위로 **복제**되며, 이후 복제된 인스턴스를 기반으로 액션이 실행됩니다.

이와 같은 동작 구조로 인해, **액션시퀀스 내부 스크립트에서 이벤트를 연결**할 때는 원본 인스턴스가 아닌 런타임에 복제된 인스턴스를 기준으로 접근해야 합니다. 따라서 **절대 경로를 사용하는 대신 script.Parent를 기준으로 참조**해야 합니다.

이벤트는 서버와 클라이언트 환경 모두에서 연결할 수 있습니다. 다만 **서버측 Script는 액션시퀀스 바로 하위에 배치**하는 것을 권장하며, 더 깊은 자손 위치에서는 정상적으로 동작하지 않을 수 있습니다.

액션시퀀스 하위의 **LocalScript에서 이벤트를 연결한 경우, 해당 로직은 모든 클라이언트에서 호출**되므로, 필요에 따라 액션시퀀스를 실행한 주체(self)를 기준으로 필터링해야 합니다.

## Properties

## Methods

### GetMarkerReachedSignal

액션시퀀스의 이벤트 트랙에 설정된 특정 이름의 마커에 도달했을 때 발생하는 이벤트를 반환합니다.

#### Parameters

| `string` MarkerName | 마커의 이름입니다. |
| ------------------- | ---------- |

#### Return

| `ScriptSignal` | 마커 도달 이벤트입니다. |
| -------------- | ------------- |

#### Code Samples

```lua
local ActionSequence = script.Parent

-- self : 액션시퀀스를 실행한 캐릭터 모델이 전달됩니다.
ActionSequence:GetMarkerReachedSignal("EventName"):Connect(function(self)
    -- ...
end)
```

### Hit

액션시퀀스의 충돌 트랙에 설정된 특정 이름의 마커에 도달했을 때 발생하는 이벤트를 반환합니다.

#### Parameters

| `string` InCollisionEventName | 충돌 이벤트의 이름입니다. |
| ----------------------------- | -------------- |

#### Return

| `ScriptSignal` | 충돌 이벤트입니다. |
| -------------- | ---------- |

#### Code Samples

```lua
local ActionSequence = script.Parent

-- self : 액션시퀀스를 실행한 캐릭터 모델이 전달됩니다.
-- other : 충돌 판정에 감지된 대상 객체(캐릭터 모델 또는 Part)가 전달됩니다.
ActionSequence:Hit("CollisionEventName"):Connect(function(self, other)
    -- ...
end)
```

### TriggerEnded

액션시퀀스의 트리거 트랙에 설정된 특정 이름의 트리거가 종료될 때 발생하는 이벤트를 반환합니다.

#### Parameters

| `string` TriggerName | 트리거의 이름입니다. |
| -------------------- | ----------- |

#### Return

| `ScriptSignal` | 트리거 종료 이벤트입니다. |
| -------------- | -------------- |

#### Code Samples

```lua
local ActionSequence = script.Parent

-- self : 액션시퀀스를 실행한 캐릭터 모델이 전달됩니다.
ActionSequence:TriggerEnded("TriggerName"):Connect(function(self)
    -- ...
end)
```

### TriggerStarted

액션시퀀스의 트리거 트랙에 설정된 특정 이름의 트리거가 시작될 때 발생하는 이벤트를 반환합니다.

#### Parameters

| `string` TriggerName | 트리거의 이름입니다. |
| -------------------- | ----------- |

#### Return

| `ScriptSignal` | 트리거 시작 이벤트입니다. |
| -------------- | -------------- |

#### Code Samples

```lua
local ActionSequence = script.Parent

-- self : 액션시퀀스를 실행한 캐릭터 모델이 전달됩니다.
ActionSequence:TriggerStarted("TriggerName"):Connect(function(self)
    -- ...
end)
```

## Events

## See also

{% content-ref url="/pages/4wFvTPpaFUW97x39URDq" %}
[액션시퀀스](/korean/manual/studio-manual/game-development/actionsequence.md)
{% endcontent-ref %}

{% content-ref url="/pages/PwkcSAovkak53rGWaRWG" %}
[액션시퀀스 실행](/korean/manual/studio-manual/game-development/actionsequence/running-actionsequences.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.overdare.com/korean/development/api-reference/classes/actionsequence.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
