Поделиться через


Методы объекта character

[Агент Майкрософт не рекомендуется использовать в Windows 7 и может быть недоступен в последующих версиях Windows.]

Сервер также предоставляет методы для каждого символа в коллекции Characters . Поддерживаются следующие методы:

Чтобы использовать метод, сослаться на символ в коллекции. В VBScript и Visual Basic это можно сделать, указав идентификатор для символа:

   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

Чтобы упростить синтаксис кода, можно определить объектную переменную и задать для нее ссылку на символьный объект в коллекции Characters ; затем можно использовать переменную для ссылки на методы или свойства символа. В следующем примере показано, как это можно сделать с помощью инструкции Набора 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

В Visual Basic 5.0 можно также создать ссылку, объявив переменную как объект 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

Объявление объекта типа IAgentCtlCharacterEx обеспечивает раннюю привязку к объекту, что приводит к повышению производительности.

В VBScript нельзя объявить ссылку как определенный тип. Однако можно просто объявить ссылку на переменную:

<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>

Некоторые языки программирования не поддерживают коллекции. Однако вы можете получить доступ к методам объекта Character с помощью метода Character :

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

Кроме того, можно создать ссылку на объект Character , чтобы упростить выполнение кода скрипта:

<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>