TweenService는 로블록스 스튜디오에서 사용할 수 있는 라이브러리 중 하나로, 게임 오브젝트의 속성을 부드럽게 변화시키거나 애니메이션을 만드는 데 사용됩니다. 이를 통해 게임 내에서 오브젝트를 움직이고 페이드 인/아웃, 크기 조절, 회전, 색상 변경 등 다양한 애니메이션을 적용할 수 있습니다. TweenService를 사용하면 레이어에서 레이어로 부드럽게 오브젝트를 이동시키거나, 특정 이벤트가 발생할 때 애니메이션을 실행할 수 있습니다.
local TweenService = game:GetService("TweenService")
local part = game.Workspace.Part -- 애니메이션 대상 오브젝트
local info = TweenInfo.new(
1, -- 지속 시간 (초)
Enum.EasingStyle.Quad, -- 이징 스타일
Enum.EasingDirection.Out, -- 이징 방향
0, -- 반복 횟수 (0은 무한반복)
false, -- 역재생
0 -- 지연 시간 (초)
)
local properties = {
Size = Vector3.new(10, 10, 10), -- 크기 조절
Transparency = 0.5 -- 투명도 변경
}
local tween = TweenService:Create(part, info, properties)
tween:Play()
| 이징 스타일 | 효과 |
|---|---|
| Enum.EasingStyle.Linear | 이징 없음. 일정한 속도로 움직입니다. |
| Enum.EasingStyle.Quad | 이차 이징. 처음에는 느리게 시작하여 빠르게 가속합니다. |
| Enum.EasingStyle.Cubic | 삼차 이징. 처음에 느리게 시작하고 중간에 가속한 다음 느려집니다. |
| Enum.EasingStyle.Quart | 사차 이징. 처음에 매우 느리게 시작하고 가속합니다. |
| Enum.EasingStyle.Quint | 오차 이징. 처음에 극히 느리게 시작하고 가속합니다. |
| 이징 방향 | 효과 |
|---|---|
| Enum.EasingDirection.In | 애니메이션은 시작 지점에서 종료 지점으로 이동합니다. |
| Enum.EasingDirection.Out | 애니메이션은 종료 지점에서 시작 지점으로 이동합니다. |
| Enum.EasingDirection.InOut | 애니메이션은 시작 지점에서 종료 지점으로 이동한 후 다시 시작 지점으로 되돌아갑니다. |
TweenService는 게임 내 다양한 상황에서 활용할 수 있습니다. 예를 들어, 캐릭터 이동 애니메이션, 아이템 드롭 애니메이션, UI 요소의 전환 애니메이션, 화면 전환 효과, 게임 시작 및 종료 애니메이션 등 다양한 시나리오에 적용할 수 있습니다.
또한 TweenService는 게임의 사용자 경험을 향상시키는데 중요한 역할을 합니다. 오브젝트의 부드러운 움직임과 애니메이션은 게임을 더 흥미롭게 만들어줄 뿐 아니라, 플레이어와 상호작용하는 인터페이스의 사용성을 향상시킬 수 있습니다.