Platform SDK: Agent |
Part | Description |
---|---|
Request | A Request object specifying a particular animation.. |
Use this method only when you support multiple (simultaneous) characters and are trying to sequence the interaction of characters. (For a single character, each animation request is played sequentially--after the previous request completes.) If you have two characters and you want a character's animation request to wait until the other character's animation completes, set the Wait method to the other character's animation Request object. To specify the request parameter, you must create a variable and assign the animation request you want to interrupt:
Dim GenieRequest Dim RobbyRequest Dim Genie Dim Robby Sub window_Onload Agent1.Characters.Load "Genie", "http://agent.microsoft.com/characters/v2/genie/genie.acf" Agent1.Characters.Load "Robby", "http://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
You can also streamline your code by just calling Wait directly, using a specific animation request.
Robby.Wait Genie.Play "GestureRight"
This avoids having to explicitly declare a Request object.