Set objAgent = WScript.CreateObject("Agent.Control.1", "MyAgentEvent_")
' キャラクタ名
strAgentName = "Merlin"' サンプル? ファイル
strAgentPath = "c:\windows\msagent\chars\" & strAgentName & ".acs"
Set objAgent = WScript.CreateObject("Agent.Control.1", "MyAgentEvent_")
bBreak = False
Sub MyAgentEvent_RequestComplete(Request)
bBreak = True
End Sub
Sub MyAgentEvent_RequestStart(Request)
End Sub
bClcik = False
' クリックイベント
Sub MyAgentEvent_Click(CharacterID, Button, Shift, x, y)
' 左クリック
if Button and &H1 then
bClick = True
end if
' 右クリック
if Button and &H2 then
objCharacter.Play "Announce" ' 動作( ラッパを吹きます )
objCharacter.Speak "マウスで左クリックして下さい"
end if
End Sub
' **********************************************************' 準備' **********************************************************
objAgent.Connected = TRUE
objAgent.Characters.Load strAgentName, strAgentPath
Set objCharacter = objAgent.Characters.Character(strAgentName)
objCharacter.Show ' 表示
objCharacter.Play "Announce" ' 動作( ラッパを吹きます )' イベントを発生させる為にリクエストオブジェクトを取得します
Set objRequest = objCharacter.Speak( "こんにちは、お元気ですか?" )
Do
Wscript.Sleep 500
if bBreak then
' 処理完了イベントによるループ終了
bBreak = False
Exit Do
end if
Loop
Wscript.Sleep 1500 ' セリフを表示する時間
objCharacter.Play "LookDown" ' 動作' Speak と吹き出しが違います
objCharacter.Think "ちょっと移動しますね ...."
objCharacter.MoveTo 500,400 ' 移動( 飛びます )
objCharacter.Play "Pleased" ' 動作
objCharacter.Speak "マウスで左クリックして下さい"
Do
Wscript.Sleep 500
if bClick then
' 左クリックによるループ終了
bClick = False
Exit Do
end if
Loop
objCharacter.Play "Pleased" ' 動作' イベントを発生させる為にリクエストオブジェクトを取得します
Set objRequest = objCharacter.Speak( "それではさようなら" )
Do
Wscript.Sleep 500
if bBreak then
' 処理完了イベントによるループ終了
bBreak = False
Exit Do
end if
Loop
Wscript.Sleep 1500 ' セリフを表示する時間
objCharacter.Hide ' 消えます' スクリプトが実行中でないとサーバの処理が終わって' しまうので、Hide メソッドが終了するまで待ちます
Do While objCharacter.Visible = TRUE
Wscript.Sleep 100
Loop
Option Explicit
Dim WithEvents objAgent As Agent
Dim strAgentName, strAgentPath
Dim objCharacter, objRequest1, objRequest2
Private Sub Form_Load()
Set objAgent = New Agent
' キャラクタ名
strAgentName = "Merlin"
' サンプル? ファイル
strAgentPath = "c:\windows\msagent\chars\" & strAgentName & ".acs"' **********************************************************' 準備' **********************************************************
objAgent.Connected = True
objAgent.Characters.Load strAgentName, strAgentPath
Set objCharacter = objAgent.Characters.Character(strAgentName)
objCharacter.Show ' 表示
' 最初の動作
objCharacter.Play "Announce" ' 動作( ラッパを吹きます )
' イベント前にはリクエストオブジェクトを取得しておきます
Set objRequest1 = objCharacter.Speak("こんにちは、お元気ですか?")
End Sub
Private Sub objAgent_RequestComplete(ByVal Request As Object)
If objRequest1 = Request Then
Sleep 1500
objCharacter.Play "LookDown" ' 動作
' Speak と吹き出しが違います
objCharacter.Think "ちょっと移動しますね ...."
objCharacter.MoveTo 500, 400 ' 移動( 飛びます )
objCharacter.Play "Pleased" ' 動作
' イベント前にはリクエストオブジェクトを取得しておきます
objCharacter.Speak "マウスで左クリックして下さい"
End If
If objRequest2 = Request Then
Sleep 1500
objCharacter.Hide ' 消えます
End If
End Sub
Private Sub objAgent_Click( _
ByVal CharacterID As String, _
ByVal Button As Integer, _
ByVal Shift As Integer, _
ByVal x As Integer, _
ByVal y As Integer _
)
' 左クリック
If Button And &H1 Then
objCharacter.Play "Pleased" ' 動作
' イベント前にはリクエストオブジェクトを取得しておきます
Set objRequest2 = objCharacter.Speak("それではさようなら")
End If
End Sub