Actor

Visualizza obsoleti

An Actor is a container for code that can be safely split into its own thread using task.desynchronize(). It should also contain the instances used by its scripts.

To learn more about using multiple Actors to optimize script performance, see Parallel Luau.

Sommario

Proprietà

Proprietà inherited from ModelProprietà inherited from PVInstance

Metodi

Metodi inherited from Model
  • AddPersistentPlayer(playerInstance : Player):void

    Sets this model to be persistent for the specified player. Model.ModelStreamingMode must be set to PersistentPerPlayer for behavior to be changed as a result of addition.

  • Returns a description of a volume that contains all parts of a Model.

  • Returns the size of the smallest bounding box that contains all of the BaseParts in the Model, aligned with the Model.PrimaryPart if it is set.

  • Returns all the Player objects that this model object is persistent for. Behavior varies based on whether this method is called from a Script or a LocalScript.

  • Returns the canonical scale of the model, which defaults to 1 for newly created models and will change as it is scaled via Model/ScaleTo.

  • MoveTo(position : Vector3):void

    Moves the PrimaryPart to the given position. If a primary part has not been specified, the root part of the model will be used.

  • RemovePersistentPlayer(playerInstance : Player):void

    Makes this model no longer persistent for specified player. Model.ModelStreamingMode must be set to PersistentPerPlayer for behavior to be changed as a result of removal.

  • ScaleTo(newScaleFactor : number):void

    Sets the scale factor of the model, adjusting the sizing and location of all descendant Instances such that they have that scale factor relative to their initial sizes and locations when scale factor was 1.

  • TranslateBy(delta : Vector3):void

    Shifts a Model by the given Vector3 offset, preserving the model's orientation. If another BasePart or Terrain already exists at the new position then the Model will overlap said object.

Metodi inherited from PVInstance

Proprietà

Metodi

BindToMessage

Scrivi Parallelo

This method is used to bind a Luau callback to a message with the specified topic. When a message is sent (using Actor/SendMessage) to the topic specified the provided callback will be called in a serial execution context.

Multiple Luau callbacks may be bound to a single actor and even to a single message topic.

Note: Only the scripts which are descendants of an Actor may bind to its messages.


local actor = script:GetActor()
-- Print out a message when a greeting message is sent to the Actor
-- this script is a descendant of.
local connection = actor:BindToMessage("Greeting", function(message)
print("Received Greeting Message:", message)
end)

Parametri

topic: string

The topic used to identify the type of message.

function: function

Restituzioni

This connection object may be used to disconnect the Luau callback from receiving messages.

BindToMessageParallel

Scrivi Parallelo

This method is used to bind a Luau callback to a message with the specified topic. When a message is sent (using Actor/SendMessage) to the topic specified the provided callback will be called in a parallel execution context.

Multiple Luau callbacks may be bound to a single actor and even to a single message topic.

Note: Only the scripts which are descendants of an Actor may bind to its messages.


local actor = script:GetActor()
-- Print out a message when a greeting message is sent to the Actor
-- this script is a descendant of.
local connection = actor:BindToMessageParallel("Greeting", function(message)
print("Received Greeting Message:", message)
end)

Parametri

topic: string

The topic used to identify the type of message.

function: function

Restituzioni

This connection object may be used to disconnect the Luau callback from receiving messages.

SendMessage

void
Scrivi Parallelo

Sends a message to an Actor. Messages are sent asynchronously, so the sender will not block or yield when calling the Actor/SendMessage method.

Since a single Actor may receive different kinds of messages, a topic parameter is used to distinguish between various kinds of messages.

See Actor/BindToMessage for details on receiving a message sent using Actor/SendMessage.


-- Assume `actor` is a local variable referring to an Actor instance
actor:SendMessage("Greeting", "Hello World")

Parametri

topic: string

The topic used to identify the message being sent.

message: Tuple

The contents of the message to send to the Actor.


Restituzioni

void

Eventi