Partager via


Méthodes de l’objet Character

[Microsoft Agent est déconseillé à partir de Windows 7 et peut ne pas être disponible dans les versions ultérieures de Windows.]

Le serveur expose également des méthodes pour chaque caractère d’une collection Characters . Les méthodes suivantes sont prises en charge :

Pour utiliser une méthode, référencez le caractère de la collection. Dans VBScript et Visual Basic, vous devez spécifier l’ID d’un caractère :

   Sub FormLoad

   'Load the genie character into the Characters collection
   Agent1.Characters.Load "Genie", "Genie.acs"

   'Display the character
   Agent1.Characters("Genie").Show
   Agent1.Characters("Genie").Play "Greet"
   Agent1.Characters("Genie").Speak "Hello. "

   End Sub

Pour simplifier la syntaxe de votre code, vous pouvez définir une variable objet et la définir pour qu’elle référence un objet caractère dans la collection Characters ; vous pouvez ensuite utiliser votre variable pour référencer des méthodes ou des propriétés du caractère. L’exemple suivant montre comment procéder à l’aide de l’instruction Visual Basic Set :

   'Define a global object variable
   Dim Genie as Object

   Sub FormLoad

   'Load the genie character into the Characters collection
   Agent1.Characters.Load "Genie", " Genie.acs"

   'Create a reference to the character
   Set Genie = Agent1.Characters("Genie")

   'Display the character
   Genie.Show

   'Get the Restpose animation
   Genie.Get "animation", "RestPose"

   'Make the character say Hello
   Genie.Speak "Hello."

   End Sub

Dans Visual Basic 5.0, vous pouvez également créer votre référence en déclarant votre variable en tant qu’objet Character:

   Dim Genie as IAgentCtlCharacterEx

   Sub FormLoad

   'Load the genie character into the Characters collection
   Agent1.Characters.Load "Genie", "Genie.acs"

   'Create a reference to the character
   Set Genie = Agent1.Characters("Genie")

   'Display the character
   Genie.Show

   End Sub

La déclaration de votre objet de type IAgentCtlCharacterEx active la liaison anticipée sur l’objet, ce qui améliore les performances.

Dans VBScript, vous ne pouvez pas déclarer une référence en tant que type particulier. Toutefois, vous pouvez simplement déclarer la référence de variable :

<SCRIPT LANGUAGE = "VBSCRIPT">
<!—--

   Dim Genie
   
   Sub window_OnLoad
   
   'Load the character
   AgentCtl.Characters.Load "Genie", "https://agent.microsoft.com/characters/v2/genie/genie.acf"

   'Create an object reference to the character in the collection
   set Genie= AgentCtl.Characters ("Genie")

   'Get the Showing state animation
   Genie.Get "state", "Showing"

   'Display the character
   Genie.Show

   End Sub

-->
   </SCRIPT>

Certains langages de programmation ne prennent pas en charge les regroupements. Toutefois, vous pouvez accéder aux méthodes d’un objet Character avec la méthode Character :

   agent.Characters.Character("CharacterID").method

En outre, vous pouvez également créer une référence à l’objet Character pour faciliter le suivi de votre code de script :

<SCRIPT LANGUAGE="JScript" FOR="window" EVENT="onLoad()">
<!--
   
   //Load the character's data
   AgentCtl.Characters.Load ("Genie", _
      "https://agent.microsoft.com/characters/v2/genie/genie.acf");   

   //Create a reference to this object
   Genie = AgentCtl.Characters.Character("Genie");
   
   //Get the Showing state animation
   Genie.Get("state", "Showing");

   //Display the character
   Genie.Show();

-->
</SCRIPT>