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 :
- Activer
- GestureAt
- Avoir
- Masquer
- Interruption
- Ecoute
- MoveTo
- Jouer
- Afficher
- ShowPopupMenu
- Speak
- Arrêter
- StopAll
- Temps de
- Wait
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>