次の方法で共有


Character オブジェクト メソッド

[Microsoft エージェントは Windows 7 の時点で非推奨となり、以降のバージョンの Windows では使用できない場合があります。]

また、サーバーは Characters コレクション内の各文字のメソッドも公開します。 以下のメソッドがサポートされています。

メソッドを使用するには、コレクション内の文字を参照します。 VBScript と Visual Basic では、文字の ID を指定してこれを行います。

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

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>