Servizi

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

In Riutilizzo del codice, potresti aver notato un uso frequente del metodo game:GetService().I servizi di Roblox ti consentono di accedere alle funzionalità integrate del motore, come la vendita di articoli in-esperienza, l'attivazione della chat, il suono di riproduzione, l'animazione degli oggetti e la gestione delle istanze.

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

  1. Ottieni servizi.
  2. Richiedi gli script del modulo.
  3. Aggiungi funzioni locali.
  4. Aggiungi gli eventi che attivano quelle funzioni.

Ad esempio, potresti voler salvare le posizioni dei giocatori nel mondo quando escono dalla tua esperienza:


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 viene rimosso un personaggio
-- dalla esperienza (in questo caso, quando il giocatore esce).
local function onPlayerAdded(player)
player.CharacterRemoving:Connect(saveProgress)
end
-- Chiama onPlayerAdded quando un giocatore si connette per la prima volta all'esperienza.
Players.PlayerAdded:Connect(onPlayerAdded)

Alcuni dettagli chiave includono:

  • Poiché devi recuperare un servizio solo una volta per script, la convenzione è quella di dare alla variabile lo stesso nome del servizio.Questa convenzione si applica anche agli script del modulo.
  • Recuperi i servizi con la variabile globale game, un riferimento alla radice del modello di dati.
  • Roblox non fornisce garanzie attorno all'ordine di caricamento (e lo streaming dell'istanza rende ulteriormente complicato ciò che viene caricato in qualsiasi momento), quindi l'uso di è una misura di sicurezza importante.

Piuttosto che confrontare biblioteche standard, funzioni globali e variabili, o librerie di terze parti, una grande parte dello sviluppo di Roblox è identificare quale dei molti, molti servizi può aiutarti ad aggiungere la funzionalità desiderata alle tue esperienze.Nell'esempio sopra, invece di utilizzare una libreria I/O standard per scrivere su disco, utilizzi servizi cloud per archiviare i dati.

Servizi container

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

Servizio | Descrizione :--- | :--- Workspace | Contiene tutti gli oggetti che rendono nel Mondo3D, come parti e terreno.Lighting | Contiene oggetti per impostare effetti di illuminazione universali, come Atmosphere e Sky . ReplicatedStorage e ReplicatedFirst | Contengono contenuto e logica che si replica tra il server e il client.

Per esaminare ulteriormente il modello di dati, puoi usare 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 container di alto livello.
  • game:GetDescendants() restituisce un array di tutti i discendenti del modello di dati, inclusi tutti i servizi container e i loro figli.

Per maggiori informazioni sui servizi container, vedi la documentazione del modello di dati data model.

Servizi di scripting

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

Servizio | Descrizione :--- | :--- TweenService | Utilizzato per interpolare le proprietà numeriche di altre istanze da un valore dall'inizio alla fine, con opzioni per facilitare la direzione e lo stile, ripetere e ritardare. MarketplaceService | Il servizio responsabile delle transazioni in-experience, come richiedere al giocatore di acquistare un prodotto per sviluppatori, un abbonamento o un game Passaggi di gioco, aggiornamento a Roblox Premium, ecc. ContextActionService | Ti consente di associare l'input dell'utente, come una Stamparedi tasti, un tocco dello schermo o un tocco del pulsante del controller, alle azioni contestuali, come la modifica dei controlli quando l'utente entra e esce da un'auto.RunService | Contiene metodi e eventi per la gestione del tempo frame-by-frame, nonché per il controllo del contesto (Server, client, modalità Studio) in cui l'esperienza è in esecuzione.Utile per eseguire qualsiasi processo o aggiornamento su ogni runtime frame.SoundService | Controlla vari aspetti globali di come l'audio si riproduce in un'esperienza, come la scala di Doppler e l'audio volumetrico.Può anche contenere gruppi sonori per controllare le proprietà di volume e effetti dinamici di più segnali audio contemporaneamente.CollectionService | Gestisce gruppi (collezioni) di istanze con tag che si replicano dal server al client, ti permettendo di assegnare e lavorare più facilmente con gruppi di istanze correlate.

Servizi cloud

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

Servizio | Descrizione :--- | :--- DataStoreService | Per memorizzare dati persistenti attraverso le sessioni.MemoryStoreService | Per il deposito di dati frequenti e temporanei che cambiano rapidamente.MessagingService | Per 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, vedi Apri cloud.