Métodos de objeto Character
[O Microsoft Agent foi preterido a partir do Windows 7 e pode estar indisponível nas versões subsequentes do Windows.]
O servidor também expõe métodos para cada caractere em uma coleção Characters . Há suporte para os seguintes métodos:
- Ativar
- GestureAt
- Obter
- Ocultar
- Interrupção
- Escute
- MoveTo
- Jogar
- Mostrar
- ShowPopupMenu
- Speak
- Stop
- Stopall
- Pense
- Aguarde
Para usar um método, faça referência ao caractere na coleção. No VBScript e no Visual Basic, você faz isso especificando a ID de um caractere:
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
Para simplificar a sintaxe do código, você pode definir uma variável de objeto e defini-la para fazer referência a um objeto de caractere na coleção Characters ; em seguida, você pode usar sua variável para referenciar métodos ou propriedades do caractere. O exemplo a seguir demonstra como você pode fazer isso usando a instrução Conjunto do Visual Basic:
'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
No Visual Basic 5.0, você também pode criar sua referência declarando sua variável como um objeto 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
Declarar o objeto do tipo IAgentCtlCharacterEx permite a associação antecipada no objeto, o que resulta em um melhor desempenho.
No VBScript, você não pode declarar uma referência como um tipo específico. No entanto, você pode simplesmente declarar a referência de variável:
<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>
Algumas linguagens de programação não dão suporte a coleções. No entanto, você pode acessar os métodos de um objeto Character com o método Character :
agent.Characters.Character("CharacterID").method
Além disso, você também pode criar uma referência ao objeto Character para tornar o código de script mais fácil de seguir:
<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>