TweenService

TweenService è un servizio in Roblox che ti permette di creare animazioni fluide per elementi GUI, parti e altri oggetti. Viene utilizzato per interpolare le proprietà di un oggetto da uno stato all'altro in un intervallo di tempo specificato.

TweenUn tween è un'animazione che interpola le proprietà di un oggetto da uno stato iniziale a uno finale.
TweenInfoQuesto definisce i parametri del tween, come la durata, lo stile di easing, la direzione di easing e la ripetizione.
Stili e Direzioni di EasingGli stili di easing definiscono la funzione matematica utilizzata per interpolare tra i valori iniziale e finale del tween. Le direzioni di easing definiscono come il tween procede rispetto ai valori iniziale e finale.

Oggetti Tweenabili

PositionSposta parti/modelli in una nuova posizione.
SizeCambia le dimensioni delle parti/modelli.
OrientationRuota parti/modelli.
TransparencyRegola il livello di trasparenza delle parti/modelli.
ColorCambia il colore delle parti/modelli.
PositionSposta parti/modelli in una nuova posizione.
SizeCambia le dimensioni delle parti/modelli.
BackgroundColor3Cambia il colore di sfondo degli elementi GUI.
TransparencyRegola il livello di trasparenza delle parti/modelli.
BrightnessRegola la luminosità di una sorgente luminosa.
ColorCambia il colore delle parti/modelli.
RangeCambia il raggio di una sorgente luminosa.
CFrameSposta o ruota la fotocamera.
VolumeRegola il volume di un suono.
PlaybackSpeedCambia la velocità di riproduzione di un suono.

Esempio di TweenService

Tweening della Posizione

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 degli Elementi 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 delle Proprietà della Luce

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

Stili di Easing

LinearSi muove a velocità costante da inizio a fine.
SineUtilizza un'onda sinusoidale per un movimento fluido e periodico.
BackSupera il valore finale prima di tornare indietro.
QuadAccelera rapidamente e poi rallenta.
CubicSimile a Quad, ma con una maggiore accelerazione e decelerazione.
QuartAncora più forte accelerazione e decelerazione rispetto a Cubic.
QuintLa massima accelerazione e decelerazione.
BounceImita un effetto di rimbalzo alla fine.
ElasticSupera il valore finale in modo elastico.
ExponentialInizia lentamente e accelera esponenzialmente.
InIl tween inizia lentamente e accelera verso la fine.
OutIl tween inizia velocemente e rallenta verso la fine.
InOutCombina sia 'In' che 'Out', iniziando lentamente, accelerando nel mezzo e rallentando di nuovo verso la fine.

Se hai trovato utile questo tutorial e desideri supportare il mio lavoro, considera di offrirmi un caffè.

Grazie mille per il tuo supporto!

Offrimi un caffè