Wait 方法

[Microsoft 代理从 Windows 7 开始已弃用,可能在后续版本的 Windows 中不可用。]

Description

导致指定字符的动画队列等待指定的动画请求完成。

语法

agent**。字符 (“CharacterID”) 。等待**请求

组成部分 说明
请求 指定特定动画的 Request 对象。

 

备注

仅当支持多个 (同时) 字符并尝试对字符交互进行排序时,才使用此方法。 (对于单个角色,每个动画请求在上一个请求完成后按顺序播放。) 如果你有两个字符,并且希望一个字符的动画请求等待其他角色的动画完成,请将 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 对象。