Métodos de objeto Character
[Microsoft Agent está en desuso a partir de Windows 7 y puede no estar disponible en versiones posteriores de Windows.
El servidor también expone métodos para cada carácter de una colección Characters . Se admiten los métodos siguientes:
- Activar
- GestureAt
- Obtener
- Ocultar
- Interrupción
- Escucha
- MoveTo
- Jugar
- Mostrar
- ShowPopupMenu
- Speak
- Parada
- Soundmixer.stopall
- Reflexión
- Esperar
Para usar un método, haga referencia al carácter de la colección. En VBScript y Visual Basic, para ello, debe especificar el identificador de un carácter:
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 la sintaxis del código, puede definir una variable de objeto y establecerla para hacer referencia a un objeto de carácter en la colección Characters ; después, puede usar la variable para hacer referencia a métodos o propiedades del carácter. En el ejemplo siguiente se muestra cómo puede hacerlo mediante la instrucción Set de 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
En Visual Basic 5.0, también puede crear la referencia declarando la variable como un 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 el objeto de tipo IAgentCtlCharacterEx permite el enlace anticipado en el objeto, lo que da como resultado un mejor rendimiento.
En VBScript, no se puede declarar una referencia como un tipo determinado. Sin embargo, simplemente puede declarar la referencia 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>
Algunos lenguajes de programación no admiten colecciones. Sin embargo, puede acceder a los métodos de un objeto Character con el método Character :
agent.Characters.Character("CharacterID").method
Además, también puede crear una referencia al objeto Character para que el código de script sea más 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>