?? unit1.pas
字號:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, AgentObjects_TLB, ExtCtrls;
type
TForm1 = class(TForm)
MyAgent: TAgent;
Button10: TButton;
Button11: TButton;
Panel1: TPanel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
ComboBox1: TComboBox;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
OpenDialog1: TOpenDialog;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Peedy:IAgentCtlCharacter;
Request1,Request2: IAgentCtlRequest;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Peedy.Show(0);//動態(tài)出現(xiàn) 1為無動態(tài)
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Peedy.Hide(0);//隱藏 1為無動畫
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Peedy.Show(0);
Peedy.MoveTo((Screen.Width-Peedy.Get_Width) Div 2,(Screen.Height-Peedy.Get_Height) Div 2,2);//移動至屏幕中間
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Peedy.Show(0);
try
case combobox1.ItemIndex of
0:Request1:=Peedy.Play('Acknowledge');
1:Request1:=Peedy.Play('LookDown');
2:Request1:=Peedy.Play('Sad');
3:Request1:=Peedy.Play('Alert');
4:Request1:=Peedy.Play('LookDownBlink');
5:Request1:=Peedy.Play('Search');
6:Request1:=Peedy.Play('Announce');
7:Request1:=Peedy.Play('LookUp');
8:Request1:=Peedy.Play('StartListening');
9:Request1:=Peedy.Play('Blink');
10:Request1:=Peedy.Play('LookUpBlink');
11:Request1:=Peedy.Play('StopListening');
12:Request1:=Peedy.Play('Confused');
13:Request1:=Peedy.Play('LookLeft');
14:Request1:=Peedy.Play('Suggest');
15:Request1:=Peedy.Play('Congratulate');
16:Request1:=Peedy.Play('LookLeftBlink');
17:Request1:=Peedy.Play('Surprised');
18:Request1:=Peedy.Play('Decline');
19:Request1:=Peedy.Play('LookRight');
20:Request1:=Peedy.Play('Think');
21:Request1:=Peedy.Play('DontRecognize');
22:Request1:=Peedy.Play('LookRightBlink');
23:Request1:=Peedy.Play('Wave');
24:Request1:=Peedy.Play('Explain');
25:Request1:=Peedy.Play('MoveDown');
26:Request1:=Peedy.Play('Write');
27:Request1:=Peedy.Play('GestureDown');
28:Request1:=Peedy.Play('MoveUp');
29:Request1:=Peedy.Play('Processing');
30:Request1:=Peedy.Play('GestureUp');
31:Request1:=Peedy.Play('MoveRight');
32:Request1:=Peedy.Play('Reading');
33:Request1:=Peedy.Play('GestureLeft');
34:Request1:=Peedy.Play('MoveLeft');
35:Request1:=Peedy.Play('Searching');
36:Request1:=Peedy.Play('GestureRight');
37:Request1:=Peedy.Play('Pleased');
38:Request1:=Peedy.Play('Writing');
39:Request1:=Peedy.Play('GetAttention');
40:Request1:=Peedy.Play('Read');
41:Request1:=Peedy.Play('Greet');
42:Request1:=Peedy.Play('RestPose');
end;
Except
On E:Exception Do
showmessage('當(dāng)前代理不支侍該動作,所以無法顯示。');
end;
{Acknowledge 承認(rèn) LookDown 向下看 Sad 悲傷
Alert 警告 LookDownBlink 向下看眨眼 Search 尋找
Announce 聲明 LookUp 向上看 StartListening 開始聆聽
Blink 眨眼 LookUpBlink 向下看眨眼 StopListening 停止聆聽
Confused 迷惑 LookLeft 向左看 Suggest 建議
Congratulate 祝賀 LookLeftBlink 向左看眨眼 Surprised 吃驚
Decline 拒絕 LookRight 向右看 Think 思考
DontRecognize 不承認(rèn) LookRightBlink 向右看眨眼 Wave 揮動
Explain 解釋 MoveDown 向下移動 Write 書寫
GestureDown 向下姿勢 MoveUp 向上移動 Processing 計算……
GestureUp 向上姿勢 MoveRight 向右移動 Reading 閱讀……
GestureLeft 向左姿勢 MoveLeft 向左移動 Searching 尋找……
GestureRight 向右姿勢 Pleased 高興 Writing 書寫……
GetAttention 獲得注意 Read 閱讀 Greet
問候 RestPose 恢復(fù)初始狀態(tài)}
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Peedy.Show(0);
Peedy.StopAll(''); //停止所有動作,單個可以用Peedy.Stop(Request1);
Peedy.Play('RestPose');//恢復(fù)初始狀態(tài),最好這么做。
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
Button3Click(Sender);
try
Peedy.Play('Greet');
Except
On E:Exception Do
//
end;
Peedy.Speak('您好,謝謝您的使用!',ExtractFilePath(application.ExeName)+'\01.wav');//如果沒有聲音,后面的文件可以不帶
Peedy.Play('RestPose');
end;
procedure TForm1.Button7Click(Sender: TObject);
var AgentHight,AgentWidth:integer;
begin
Button5Click(Sender);//先停止動作,這樣就沒有停頓了
AgentHight := Peedy.Get_Height;
AgentWidth := Peedy.Get_Width;
Peedy.Set_Height(round(AgentHight div 2));
Peedy.Set_Width(round(AgentWidth div 2));
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
Button5Click(Sender);//先停止動作,這樣就沒有停頓了
Peedy.Set_Height(0);
Peedy.Set_Width(0);
end;
procedure TForm1.Button8Click(Sender: TObject);
var AgentHight,AgentWidth:integer;
begin
Button5Click(Sender);//先停止動作,這樣就沒有停頓了
AgentHight := Peedy.Get_Height;
AgentWidth := Peedy.Get_Width;
Peedy.Set_Height(round(AgentHight * 2));
Peedy.Set_Width(round(AgentWidth * 2));
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
if opendialog1.Execute then
begin
Request1:=MyAgent.Characters.Load('Peedy',opendialog1.FileName);//讀取文件
Peedy:=MyAgent.Characters.Character('Peedy');//調(diào)入文件
MyAgent.Connected := True;//是否與Microsoft Agent服務(wù)器連接
button10.Enabled:=false;
panel1.Enabled:=true;
button11.Enabled:=true;
end;
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
MyAgent.Characters.Unload('Peedy');//關(guān)閉文件
panel1.Enabled:=false;
button10.Enabled:=true;
button11.Enabled:=false;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -