Servizi

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

In Riutilizza codice, potresti aver notato un utilizzo frequente del metodo game:GetService(). I servizi di Roblox ti consentono di accedere alle funzionalità integrate del motore, come la vendita di oggetti di gioco, l'attivazione della chat, la riproduzione di suoni, l'animazione degli oggetti e la gestione delle istanze.

In effetti, i servizi sono il primo passo nel pattern più fondamentale e comune dello sviluppo Roblox:

  1. Ottenere servizi.
  2. Richiedere script dei moduli.
  3. Aggiungere funzioni locali.
  4. Aggiungere gli eventi che attivano quelle funzioni.

Ad esempio, potresti voler salvare le posizioni dei giocatori nel mondo quando escono dal tuo gioco:


local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SaveManager = require(ReplicatedStorage:WaitForChild("SaveManager"))
-- Funzione locale che chiama una funzione riutilizzabile nello script del modulo.
local function saveProgress(character)
-- Ottieni la posizione del personaggio del giocatore.
local position = character:FindFirstChild("HumanoidRootPart").Position
-- Usa la funzione saveData nello script del modulo, che scrive nel
-- DataStoreService.
SaveManager.saveData(character, position)
end
-- Un'altra funzione locale che chiama saveProgress() quando un personaggio viene rimosso
-- dal gioco (in questo caso, quando il giocatore lascia).
local function onPlayerAdded(player)
player.CharacterRemoving:Connect(saveProgress)
end
-- Chiama onPlayerAdded quando un giocatore si connette per la prima volta al gioco.
Players.PlayerAdded:Connect(onPlayerAdded)

Alcuni dettagli chiave includono:

  • Poiché dovresti conoscere solo un servizio una volta per script, la convenzione è di dare alla variabile lo stesso nome del servizio. Questa convenzione si applica anche agli script dei moduli.
  • Recuperi i servizi con la variabile globale game, un riferimento alla radice del modello di dati.
  • Roblox non fornisce garanzie riguardo all'ordine di caricamento (e lo streaming delle istanze complica ulteriormente ciò che è e non è caricato in un dato momento), quindi l'uso di Instance:WaitForChild() è una misura di sicurezza importante.

Piuttosto che confrontare le librerie standard, funzioni globali e variabili, o librerie di terze parti, una grande parte dello sviluppo di Roblox consiste nell'identificare quali dei molti, molti servizi possono aiutarti ad aggiungere la funzionalità desiderata ai tuoi giochi. Nell'esempio sopra, invece di utilizzare una libreria standard di I/O per scrivere su disco, utilizzi i servizi cloud per memorizzare i dati.

Servizi contenitore

I servizi contenitore possono contenere e influenzare altri oggetti. Questi servizi contenitore risiedono alla radice del modello di dati e sono visibili nella finestra Explorer di Studio. Collettivamente, questi servizi contenitore formano una gerarchia strutturata per il modello di dati, in modo che il motore Roblox possa interpretare e rendere correttamente il tuo luogo. La tabella seguente include alcuni servizi contenitore comuni.

ServizioDescrizione
WorkspaceContiene tutti gli oggetti che vengono resi nel mondo 3D, come parti e terreno.
LightingContiene oggetti per impostare effetti di illuminazione universali, come Atmosphere e Sky.
ReplicatedStorage e ReplicatedFirstContengono contenuti e logica che si replicano tra server e client.

Per esaminare ulteriormente il modello di dati, puoi utilizzare questi metodi:

  • game:FindService() cerca l'istanza del servizio specificato.
  • game:GetChildren() restituisce un array di tutti i figli radice del modello di dati, che sono i servizi contenitore di livello superiore.
  • game:GetDescendants() restituisce un array di tutti i discendenti del modello di dati, inclusi tutti i servizi contenitore e i loro figli.

Per ulteriori informazioni sui servizi contenitore, consulta la documentazione sul modello di dati.

Servizi di scripting

I servizi di scripting forniscono funzionalità standard nel motore Roblox che chiami all'interno degli script. La tabella seguente include alcuni servizi di scripting comuni.

ServizioDescrizione
TweenServiceUtilizzato per interpolare le proprietà numeriche di altre istanze da un valore iniziale a un valore finale, con opzioni per la direzione e lo stile di easing, ripetizione e ritardo.
MarketplaceServiceIl servizio responsabile delle transazioni in gioco, come la richiesta al giocatore di acquistare un prodotto per sviluppatori, abbonamento, pass, Roblox Premium, ecc.
RunServiceContiene metodi ed eventi per la gestione del tempo frame per frame, così come per controllare il contesto (server, client, modalità Studio) in cui il gioco è in esecuzione. Utile per eseguire qualsiasi processo o aggiornamento a ogni frame di runtime.
SoundServiceControlla vari aspetti globali di come l'audio viene riprodotto in un gioco, come la scala Doppler e l'audio volumetrico. Può anche contenere gruppi di suoni per controllare le proprietà del volume e degli effetti dinamici di più segnali audio contemporaneamente.
CollectionServiceGestisce gruppi (collezioni) di istanze con tag che si replicano dal server al client, consentendoti di assegnare e lavorare più facilmente con gruppi di istanze correlate.

Servizi cloud

Roblox ha anche servizi cloud speciali per gestire attività e processi che si verificano nel cloud di Roblox. La tabella seguente include alcuni servizi cloud comuni.

ServizioDescrizione
DataStoreServicePer memorizzare dati persistenti tra le sessioni.
MemoryStoreServicePer memorizzare dati frequenti e effimeri che cambiano rapidamente.
MessagingServicePer comunicare tra più server durante le sessioni dal vivo.

I servizi cloud hanno anche API web corrispondenti; sono accessibili da script o strumenti esterni. Per ulteriori informazioni, consulta Open Cloud.

© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.