Actor

Visualizza obsoleti

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

Un Actor è un container per il codice che può essere diviso in modo sicuro in suo proprio thread utilizzando task.desynchronize() . Dovrebbe anche contenere le istanze utilizzate dai suoi script.

Per saperne di più sull'uso di più attori per ottimizzare le Prestazionedello script, vedi Luau parallelo .

Sommario

Proprietà

Proprietà provenienti da Model
  • Imposta il livello di dettaglio sul modello per le esperienze con la funzione di streaming in sessione abilitata.

  • Controlla il comportamento di streaming del modello su Models quando è abilitato lo streaming delle istanze.

  • Lettura Parallela

    La parte principale del Model, o nil se non è esplicitamente Impostare.

  • Non Replicato
    Non programmabile
    Lettura Parallela

    Proprietà utilizzata solo dall'editor per scalare il modello intorno al suo pivot. Impostando questa proprietà sposterà lo scala come se Model/ScaleTo fosse stata chiamata su di esso.

  • Non Replicato
    Lettura Parallela

    Determina dove si trova il punto di rotazione di un Model che non ha non un set Model.PrimaryPart è posizionato.

Proprietà provenienti da PVInstance

Metodi

Metodi provenienti da Model
  • AddPersistentPlayer(playerInstance : Player):void

    Imposta questo modello per essere persistente per il Giocatorespecificato. Model.ModelStreamingMode deve essere impostato su PersistentPerPlayer per il comportamento di modifica come risultato dell'aggiungimento.

  • Restituisce una descrizione di un volume che contiene tutte le parti di un modello.

  • Restituisce il valore della più piccola scatola di confezione che contiene tutti i BaseParts in the Model , allineato con il Model.PrimaryPart se è Impostare.

  • Restituisce tutti gli oggetti Player che questo oggetto modello è persistente. Il comportamento varia in base a se questo metodo viene chiamato da un Script o da un LocalScript .

  • Restituisce la scala di canone del modello, che predefinito è 1 per i nuovi modelli creati e cambierà man mano che viene scala via Model/ScaleTo .

  • MoveTo(position : Vector3):void

    Sposta il PrimaryPart alla posizione specificata. Se una parte primaria non è stata specificata, la parte di base del modello sarà utilizzata.

  • RemovePersistentPlayer(playerInstance : Player):void

    Questo modello non è più persistente per il Giocatorespecificato. Model.ModelStreamingMode deve essere impostato su PersistentPerPlayer per il comportamento di modifica come risultato della rimozione.

  • ScaleTo(newScaleFactor : number):void

    Imposta il fattore di escala del modello, regolando la dimensione e la posizione di tutte le istanze discendenti in modo che abbiano quel fattore di escala rispetto alle loro dimensioni e posizione iniziali quando il fattore di escala era 1.

  • TranslateBy(delta : Vector3):void

    Sposta un Model da un dato Vector3 OFFSET, preservando l'orientamento del modello. Se un altro BasePart o 1> Class.Terrain1> esiste già nella nuova posizione, allora il 4> Class.Model4> si sovrappone all'oggetto dichiarato.

Metodi provenienti da PVInstance

Proprietà

Metodi

BindToMessage

Scrivi Parallelo

Questo metodo viene utilizzato per associare una richiamata Luau a un messaggio con l'argomento specificato. Quando viene inviato un messaggio (utilizzando SendMessage() ) al soggetto specificato, il richiamato fornito verrà chiamato in un contesto di esecuzione seriale.

Più richiami Luau possono essere legati a un singolo attore e persino a un singolo argomento di messaggio.

Nota: solo gli script che sono discendenti di un attore possono legarsi ai suoi messaggi.


local actor = script:GetActor()
-- Stampa un messaggio quando viene inviato un messaggio di saluto all'attore
-- questo script è discendente di.
local connection = actor:BindToMessage("Greeting", function(message)
print("Received Greeting Message:", message)
end)

Parametri

topic: string

Il argomento usato per identificare il tipo di Messaggio.

function: function

Restituzioni

Questo oggetto di connessione può essere utilizzato per disconnettere il richiamo Luau dal ricevere messaggi.

BindToMessageParallel

Scrivi Parallelo

Questo metodo viene utilizzato per associare una richiamata Luau a un messaggio con l'argomento specificato. Quando viene inviato un messaggio (utilizzando SendMessage() ) al soggetto specificato, il richiamato fornito verrà chiamato in un contesto di esecuzione parallelo.

Più richiami Luau possono essere legati a un singolo attore e persino a un singolo argomento di messaggio.

Nota: solo gli script che sono discendenti di un attore possono legarsi ai suoi messaggi.


local actor = script:GetActor()
-- Stampa un messaggio quando viene inviato un messaggio di saluto all'attore
-- questo script è discendente di.
local connection = actor:BindToMessageParallel("Greeting", function(message)
print("Received Greeting Message:", message)
end)

Parametri

topic: string

Il argomento usato per identificare il tipo di Messaggio.

function: function

Restituzioni

Questo oggetto di connessione può essere utilizzato per disconnettere il richiamo Luau dal ricevere messaggi.

SendMessage

void
Scrivi Parallelo

Invia un messaggio a un attore. I messaggi vengono inviati in modo asincrono, quindi il mittente non bloccherà o si arrenderà quando chiamerà il metodo SendMessage() .

Poiché un singolo attore può ricevere diversi tipi di messaggi, un topic parametro viene utilizzato per distinguere tra diversi tipi di messaggi.

Vedi BindToMessage() per i dettagli su come ricevere un messaggio inviato utilizzando SendMessage() .


-- Assumi `Actor` è una variabile locale che si riferisce a un'esempioActor
actor:SendMessage("Greeting", "Hello World")

Parametri

topic: string

L'argomento usato per identificare il messaggio Sentenza

message: Tuple

I contenuti del messaggio da inviare all'attore.


Restituzioni

void

Eventi