Actor

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Un Actor est un conteneur pour le code qui peut être divisé en toute sécurité en son propre filon à l'aide de task.desynchronize(). Il doit également contenir les instances utilisées par ses scripts.

Pour en savoir plus sur l'utilisation de plusieurs acteurs pour optimiser les performances des scripts, voir Luau parallèle.

Résumé

Propriétés

Propriétés hérités de Model
  • Définit le niveau de détail sur le modèle pour les expériences avec le streaming d'instance activé.

  • Contrôle le comportement de génération du modèle sur Models lorsque le mode d'instantiation est activé.

  • Lecture parallèle

    La partie principale du Model , ou nil si elle n'est pas explicitement configurer.

  • Non répliqué
    Non scriptable
    Lecture parallèle

    Propriété seulement utilisée pour escalader le modèle autour de son pivot. En configurant cette propriété, l'échelle sera déplacée comme si Model/ScaleTo était appelée dessus.

  • Non répliqué
    Lecture parallèle

    Détermine l'endroit où le pivot d'un Model qui fait ne a pas de set Model.PrimaryPart est situé.

Propriétés hérités de PVInstance

Méthodes

Méthodes hérités de Model
  • AddPersistentPlayer(playerInstance : Player):void

    Définit ce modèle pour être persistant pour le joueur spécifié. Model.ModelStreamingMode doit être défini sur PersistentPerPlayer pour que le comportement soit modifié en tant que résultat de l'ajout.

  • Retourne une description d'un volume qui contient toutes les parties d'un modèle.

  • Renvoie la taille de la plus petite boîte de définition qui contient tous les BaseParts dans le Model, avec le Model.PrimaryPart si c'est configurer.

  • Renvoie tous les objets Player que ce modèle d'objet persiste pour. Le comportement varie en fonction de si cet objet de modèle est appelé à partir d'un Script ou d'un LocalScript.

  • Renvoie l'échelle de canon du modèlisation, qui est par défaut 1 pour les nouveaux modèles créés et changera lorsqu'elle sera mise à l'échelle via Model/ScaleTo .

  • MoveTo(position : Vector3):void

    Déplace le PrimaryPart à l'endroit donné. Si une partie principale n'a pas été spécifiée, la partie racine du modèle sera utilisée.

  • RemovePersistentPlayer(playerInstance : Player):void

    Ce modèle n'est plus persistant pour le joueur spécifié. Model.ModelStreamingMode doit être réglé sur PersistentPerPlayer pour que le comportement soit modifié en tant que résultat de la suppression.

  • ScaleTo(newScaleFactor : number):void

    Définit le facteur de mise à l'échelle du modèlisation, ajustant la taille et l'emplacement de toutes les instances descendantes afin qu'elles aient ce facteur de mise à l'échelle par rapport à leurs tailles et emplacements d'origine lorsque le facteur de mise à l'échelle était 1.

  • TranslateBy(delta : Vector3):void

    Déplace un Model par l'écart donné Vector3, en conservant l'orientation du modèlisation. Si un autre BasePart ou 2>Class.Terrain2> existe déjà à la nouvelle position, le 5>Class.Model5> dépassera l'objet.

Méthodes hérités de PVInstance

Propriétés

Méthodes

BindToMessage

Écrire en parallèle

Cette méthode est utilisée pour lier un rappel Luau à un message avec le sujet spécifié. Lorsqu'un message est envoyé (utilisant SendMessage()), au sujet spécifié, le rappel fourni sera appelé dans un contexte d'exécution série.

Plusieurs rappels Luau peuvent être liés à un seul acteur et même à un seul sujet de message.

Remarque : Seuls les scripts qui sont les descendants d'un acteur peuvent lier à ses messages.


local actor = script:GetActor()
-- Imprimer un message lorsqu'un message d'accueil est envoyé à l'acteur
-- ce script est un descendant de.
local connection = actor:BindToMessage("Greeting", function(message)
print("Received Greeting Message:", message)
end)

Paramètres

topic: string

Le sujet utilisé pour identifier le type de message.

function: function

Retours

Cet objet de connexion peut être utilisé pour désconnecter le rappel Luau de la réception de messages.

BindToMessageParallel

Écrire en parallèle

Cette méthode est utilisée pour lier un rappel Luau à un message avec le sujet spécifié. Lorsqu'un message est envoyé (utilisant SendMessage()), au sujet spécifié, le rappel fourni sera appelé dans un contexte d'exécution parallèle.

Plusieurs rappels Luau peuvent être liés à un seul acteur et même à un seul sujet de message.

Remarque : Seuls les scripts qui sont les descendants d'un acteur peuvent lier à ses messages.


local actor = script:GetActor()
-- Imprimer un message lorsqu'un message d'accueil est envoyé à l'acteur
-- ce script est un descendant de.
local connection = actor:BindToMessageParallel("Greeting", function(message)
print("Received Greeting Message:", message)
end)

Paramètres

topic: string

Le sujet utilisé pour identifier le type de message.

function: function

Retours

Cet objet de connexion peut être utilisé pour désconnecter le rappel Luau de la réception de messages.

SendMessage

void
Écrire en parallèle

Envoye un message à un acteur. Les messages sont envoyés asynchrone, donc l'expéditeur ne bloquera pas ou ne sera pas rendu lors de l'appel de la méthode SendMessage().

Puisque un seul acteur peut recevoir différents types de messages, un topic paramètre est utilisé pour distinguer entre différents types de messages.

Voir BindToMessage() pour plus de détails sur la réception d'un message envoyé à l'aide de SendMessage().


-- Assumez que `Actor` est une variable locale qui fait référence à une instance d'acteur
actor:SendMessage("Greeting", "Hello World")

Paramètres

topic: string

Sujet utilisé pour identifier le message envoyé.

message: Tuple

Le contenu du message à envoyer à l'acteur.


Retours

void

Évènements