RunService

RunService può essere utilizzato per l'animazione. Consente inoltre di gestire aggiornamenti in tempo reale e controllo frame per frame.

EventiDettagli
HeartbeatViene attivato ogni frame dopo che la simulazione fisica è completata.
PostSimulationViene attivato ogni frame dopo che la simulazione fisica è completata.
PreAnimationViene attivato ogni frame prima della simulazione fisica ma dopo il rendering.
PreRenderViene attivato ogni frame prima che il frame venga renderizzato.
PreSimulationViene attivato ogni frame prima della simulazione fisica.
RenderSteppedViene attivato ogni frame prima che il frame venga renderizzato.
SteppedViene attivato ogni frame prima della simulazione fisica.

RunService vs wait()

local part = Instance.new("Part")
part.Size = Vector3.new(4, 4, 4)
part.Position = Vector3.new(0, 5, 0)
part.Anchored = true
part.Parent = workspace

local speed = 5 -- studs per second

spawn(function()
    while true do
        wait(0.033) -- Approximate wait time for 30 FPS (Frame per second)
        part.Position = part.Position + Vector3.new(speed * 0.033, 0, 0)
    end
end)
wait() è meno preciso e può variare leggermente nei tempi, portando a animazioni meno fluide.

RunService vs TweenService

  • Ideale per animazioni fluide e prevedibili.
  • Ottimo per semplici transizioni di proprietà.
  • Facile da usare con stili di easing integrati.
  • TweenService sfrutta meccanismi simili a quelli forniti da RunService per garantire animazioni fluide, inclusa l'uso del delta time per l'interpolazione delle proprietà indipendente dal frame.
  • Adatto per aggiornamenti dinamici in tempo reale.
  • Consente il controllo frame per frame.
  • Versatile per vari compiti oltre alle animazioni.
  • RenderStepped è legato al processo di rendering, che avviene lato client, ed è quindi limitato a LocalScripts.

Esempio di Caso d'Uso di RunService

EsempiDettagli
Custom Render Logic3D GUIs: Crea e aggiorna elementi GUI 3D che devono seguire parti o personaggi nel mondo di gioco.
Player-Exclusive FeaturesMeccaniche di Gioco Locali: Implementa funzionalità o meccaniche che dovrebbero influire solo sul giocatore locale, come effetti particellari o cambiamenti di illuminazione esclusivi per il locale.
Camera ManipulationControllo Dinamico della Telecamera: Aggiorna fluidamente la posizione, l'orientamento o il focus della telecamera basandoti sulle azioni del giocatore o sugli eventi di gioco per creare un'esperienza più immersiva.

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è