# TweenService

TweenService : `Instance`

## Overview

TweenService를 통해 애니메이션 연출에 사용할 트윈 객체를 생성할 수 있습니다.

트윈을 생성할 때 어떤 속성을 설정하느냐에 따라 트윈의 기능이 달라집니다.

<table><thead><tr><th width="180.6666259765625">DataType</th><th>Usage Example</th></tr></thead><tbody><tr><td>CFrame</td><td>CFrame</td></tr><tr><td>Vector3</td><td>Position, Orientation, Size</td></tr><tr><td>Color3</td><td>Color</td></tr><tr><td>number</td><td>Transparency</td></tr><tr><td>bool</td><td>CanCollide</td></tr><tr><td>UDim2</td><td>Position, Size</td></tr></tbody></table>

## Properties

## Methods

### Create

특정 인스턴스를 대상으로 새로운 트윈 애니메이션을 생성할 수 있습니다. Create() 메서드에 전달되는 인수를 통해 트윈을 적용할 인스턴스, Tween의 동작을 정의하는 TweenInfo, Tween이 적용될 속성을 정의할 수 있습니다.

#### Parameters

| `Instance` Instance   | 트윈을 적용할 대상 객체입니다.                         |
| --------------------- | ----------------------------------------- |
| `TweenInfo` TweenInfo | 트윈의 시간, EasingStyle, 반복 횟수 등을 설정하는 객체입니다. |
| `Value` PropertyTable | 트윈을 적용할 속성과 목표 값을 설정하는 딕셔너리입니다.           |

#### Return

| `Instance` |   |
| ---------- | - |

#### Code Samples

```lua
local TweenService = game:GetService("TweenService")
local Part = script.Parent

-- 트윈 정보 설정
local TweenInfoData = TweenInfo.new(
    5,                         -- 시간             
    Enum.EasingStyle.Linear,   -- 속도 변화 스타일
    Enum.EasingDirection.Out,  -- 속도 적용 방향
    0,                         -- 트윈이 반복되는 횟수(-1이면 무한)     
    false,                     -- 왕복 여부
    0                          -- 시작전 지연 시간
)

-- 트윈으로 변경할 속성
local TweenGoals = 
{
    Position = Vector3.new(-400, 50, -350)
}

local Tween = TweenService:Create(Part, TweenInfoData, TweenGoals)
Tween:Play()
```

## Events

## See also

{% content-ref url="../../../manual/script-manual/advanced-gameplay-systems/tween" %}
[tween](https://docs.overdare.com/korean/manual/script-manual/advanced-gameplay-systems/tween)
{% endcontent-ref %}
