英語で読む

次の方法で共有


Wait メソッド

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

Description

指定した文字のアニメーション キューが、指定したアニメーション要求が完了するまで待機します。

構文

agent**.文字 ("CharacterID")。Wait**Request

パーツ 説明
Request 特定のアニメーションを指定する Request オブジェクト。.

 

解説

このメソッドは、複数の (同時) 文字をサポートし、文字の相互作用をシーケンス処理しようとしている場合にのみ使用します。 (1 文字の場合、各アニメーション要求は、前の要求が完了した後に順番に再生されます)。2 つの文字があり、もう一方のキャラクタのアニメーションが完了するまでキャラクタのアニメーション要求を待機する場合は、 Wait メソッドをもう一方のキャラクタのアニメーション Request オブジェクトに設定します。 要求パラメーターを指定するには、変数を作成し、中断するアニメーション要求を割り当てる必要があります。

   Dim GenieRequest 
   Dim RobbyRequest 
   Dim Genie 
   Dim Robby 

   Sub window_Onload

   Agent1.Characters.Load "Genie", "https://agent.microsoft.com/characters/v2/genie/genie.acf"
   Agent1.Characters.Load "Robby", "https://agent.microsoft.com/characters/v2/robby/robby.acf"

   Set Genie = Agent1.Characters("Genie")
   Set Robby = Agent1.Characters("Robby")

   Genie.Get "State", "Showing"
   Robby.Get "State", "Showing"

   Genie.Get "Animation", "Announce, AnnounceReturn, Pleased, _ 
      PleasedReturn"
   
   Robby.Get "Animation", "Confused, ConfusedReturn, Sad, SadReturn"

   Set Genie = Agent1.Characters ("Genie")
   Set Robby = Agent1.Characters ("Robby")

   Genie.MoveTo 100,100
   Genie.Show

   Robby.MoveTo 250,100
   Robby.Show

   Genie.Play "Announce"
   Set GenieRequest = Genie.Speak ("Why did the chicken cross the road?")
   
   Robby.Wait GenieRequest
   Robby.Play "Confused"
   Set RobbyRequest = Robby.Speak ("I don't know. Why did the chicken _
      cross the road?")
   
   Genie.Wait RobbyRequest
   Genie.Play "Pleased"
   Set GenieRequest = Genie.Speak ("To get to the other side.")
   
   Robby.Wait GenieRequest
   Robby.Play "Sad"
   Robby.Speak "I never should have asked."

   End Sub

特定のアニメーション要求を使用して Wait を直接呼び出すだけで、コードを効率化することもできます。

   Robby.Wait Genie.Play "GestureRight"

これにより、 Request オブジェクトを明示的に宣言する必要がなくなります。