TweenService

TweenService es un servicio en Roblox que te permite crear animaciones suaves para elementos GUI, partes y otros objetos. Se utiliza para interpolar las propiedades de un objeto de un estado a otro durante un tiempo especificado.

TweenUn tween es una animación que interpola las propiedades de un objeto desde un estado inicial hasta un estado final.
TweenInfoEsto define los parámetros del tween, como duración, estilo de easing, dirección de easing y repetición.
Estilos y Direcciones de EasingLos estilos de easing definen la función matemática utilizada para interpolar entre los valores de inicio y fin del tween. Las direcciones de easing definen cómo progresa el tween en relación con los valores de inicio y fin.

Objetos Tweenables

PositionMover partes/modelos a una nueva ubicación.
SizeCambiar las dimensiones de partes/modelos.
OrientationRotar partes/modelos.
TransparencyAjustar el nivel de transparencia de partes/modelos.
ColorCambiar el color de partes/modelos.
PositionMover partes/modelos a una nueva ubicación.
SizeCambiar las dimensiones de partes/modelos.
BackgroundColor3Cambiar el color de fondo de los elementos GUI.
TransparencyAjustar el nivel de transparencia de partes/modelos.
BrightnessAjustar el brillo de una fuente de luz.
ColorCambiar el color de partes/modelos.
RangeCambiar el alcance de una fuente de luz.
CFrameMover o rotar la cámara.
VolumeAjustar el volumen de un sonido.
PlaybackSpeedCambiar la velocidad de reproducción de un sonido.

Ejemplo de TweenService

Tweening de Posición

local TweenService = game:GetService("TweenService")

-- Define TweenInfo
local tweenInfo = TweenInfo.new(
	2, -- Time (seconds)
	Enum.EasingStyle.Quad, -- Easing Style
	Enum.EasingDirection.Out, -- Easing Direction
	0, -- Repeat count (0 means no repeat)
	false, -- Reverses (tween goes back and forth)
	0 -- Delay time (seconds)
)

local part = script.Parent
part.Position = Vector3.new(0, 2.5, 0)
part.Anchored = true
part.Parent = workspace

-- Define the end state of the properties you want to tween
local goal = {}
goal.Position = Vector3.new(10, 5, 0)

-- Create the tween
local tween = TweenService:Create(part, tweenInfo, goal)

-- Play the tween
tween:Play()
Image 1
Roblox Studio

Tweening de Elementos GUI

local TweenService = game:GetService("TweenService")

-- Define TweenInfo
local tweenInfo = TweenInfo.new(
	2, -- Time (seconds)
	Enum.EasingStyle.Quad, -- Easing Style
	Enum.EasingDirection.Out, -- Easing Direction
	0, -- Repeat count (0 means no repeat)
	false, -- Reverses (tween goes back and forth)
	0 -- Delay time (seconds)
)

local part = script.Parent
part.Position = Vector3.new(0, 2.5, 0)
part.Anchored = true
part.Parent = workspace

-- Define the end state of the properties you want to tween
local goal = {}
goal.Position = Vector3.new(10, 5, 0)

-- Create the tween
local tween = TweenService:Create(part, tweenInfo, goal)

-- Play the tween
tween:Play()
Image 1
Roblox Studio

Tweening de Propiedades de Luz

local TweenService = game:GetService("TweenService")

-- Define TweenInfo
local tweenInfo = TweenInfo.new(
	2, -- Time (seconds)
	Enum.EasingStyle.Quad, -- Easing Style
	Enum.EasingDirection.Out, -- Easing Direction
	0, -- Repeat count (0 means no repeat)
	false, -- Reverses (tween goes back and forth)
	0 -- Delay time (seconds)
)

local part = script.Parent
part.Position = Vector3.new(0, 2.5, 0)
part.Anchored = true
part.Parent = workspace

-- Define the end state of the properties you want to tween
local goal = {}
goal.Position = Vector3.new(10, 5, 0)

-- Create the tween
local tween = TweenService:Create(part, tweenInfo, goal)

-- Play the tween
tween:Play()
Image 1
Roblox Studio

Estilos de Easing

LinearSe mueve a una velocidad constante de inicio a fin.
SineUsa una onda sinusoidal para un movimiento suave y periódico.
BackSobrepasa el valor final antes de regresar.
QuadAcelera rápidamente y luego desacelera.
CubicSimilar a Quad, pero con una aceleración y desaceleración más fuertes.
QuartIncluso más fuerte aceleración y desaceleración que Cubic.
QuintLa aceleración y desaceleración más fuertes.
BounceImita un efecto de rebote al final.
ElasticSe mueve más allá del valor final de una manera elástica.
ExponentialComienza lentamente y acelera exponencialmente.
InEl tween comienza lentamente y acelera hacia el final.
OutEl tween comienza rápidamente y desacelera hacia el final.
InOutCombina tanto 'In' como 'Out', comenzando lentamente, acelerando en el medio y desacelerando nuevamente hacia el final.

Si encuentras útil este tutorial y deseas apoyar mi trabajo, considera invitarme a un café.

¡Muchas gracias por tu apoyo!

Invítame a un café