nimate组 一个简单的动画播放程序。通过实例3,更好地掌握TAnimate组 件的应用以及多媒体程序的设计思路。
11.2 简单的动画播放程序的设计
? 11.2.1 界面设计 11.
– 新建一个工程 PrjTAnimate.dpr, 按图 11-6 设计动 新建一个工程PrjTAnimate.dpr , 按图11画播放
程序的界面。 画播放程序的界面。窗体及其组件属性的设置值 如表11- 所示。 如表11-2所示。
11.2 简单的动画播放程序的设计
图11-6设计动画播放程序的界面 11-
11.2 简单的动画播放程序的
设计 ? 11.2.2 代码编写
– – – – 1.定义存放起始帧、结束帧、循环次数和总帧数 var Form1: TForm1; StartFrame,StopFrame,RepeatFrame,SumFrame:integer;
11.2 简单的动画播放程序的设计
? ? ? ? ? ? ? ? ? ? ? ? ? ? 2.TAnimate1组件的OnOpen事件处理程序代码 TAnimate1组件的OnOpen事件处理程序代码 procedure TForm1.Animate1Open(Sender: TObject); begin ShowMessage('TAnimaet组件触发OnOpen事件,初始化 ShowMessage('TAnimaet组件触发OnOpen事件,初始化 变量!'); 变量!'); (*初始化变量* (*初始化变量*) StartFrame:=Animate1.StartFrame; StopFrame:=Animate1.StopFrame; RepeatFrame:=Animate1.Repetitions; SumFrame:=Animate1.FrameCount; Estartframe.Text:=IntToStr(StartFrame); Estopframe.Text:=IntToStr(StopFrame); Esumframe.Text:=IntToStr(SumFrame); Erepeatframe.Text:=IntToStr(RepeatFrame); end;
11.2 简单的动画播放程序的设计
? ? ? ? ? ? ? ? ? 3.“开始播放”按钮的OnClick事件处理程序代码 .“开始播放”按钮的OnClick事件处理程序代码 procedure TForm1.playClick(Sender: TObject); begin StartFrame:=StrToInt(Estartframe.text); StopFrame:=StrToInt(Estopframe.text); RepeatFrame:=StrToInt(Erepeatframe.text); (*验证动画属性设置编辑框的数据合法性* (*验证动画属性设置编辑框的数据合法性*) if (StartFrame>StopFrame) or(StopFrame>SumFrame) then
11.2 简单
的动画播放程序的设计
? begin //输入范围错误 //输入范围错误 ? ShowMessage('输入帧的范围错误,所有设置复位! ShowMessage('输入帧的范围错误,所有设置复位! '); ? Animate1.StartFrame:=1; ? Animate1.StopFrame:=Animate1.FrameCount; ? Animate1.Repetitions:=0; ? Estartframe.Text:='1'; ? Estopframe.Text:=IntToStr(Animate1.FrameCount); ? Erepeatframe.Text:='0'; ? end ? else ?
11.2 简单的动画播放程序的设计
? begin ? (*设置组件的Enabled属性*) 设置组件的Enabled属性* ? play.Enabled:=False; ? stop.Enabled:=True; ? Estartframe.Enabled:=False; ? Estopframe.Enabled:=False; ? Erepeatframe.Enabled:=False; ? (*设置TAnimate组件的属性,然后进行播放*) 设置TAnimate组件的属性,然后进行播放* ? Animate1.StartFrame:=StartFrame; ? Animate1.StopFrame:=StopFrame; ? Animate1.Repetitions:=RepeatFrame; ? Animate1.Active:=True; //进入播放状态 //进入播放状态 ? end; ? end;
11.2 简单的动画播放程序的设计
? 4.“停止播放”按钮的OnClick事件的处理程 .“停止播放”按钮的OnClick事件的处理程 序代码 ? procedure TForm1.stopClick(Sender: TObject); ? begin ? (*停止播放*) (*停止播放* ? Animate1.Stop; ? play.Enabled:=True; //“开始播放”按钮可用 //“开始播放”按钮可用 ? stop.Enabled:=False; ? (*设置文本框为可用*) (*设置文本框为可用* ? Estartframe.Enabled:=True; ? Estopframe.Enabled:=True; ? Erepeatframe.Enabled:=True; ? end;
11.2 简单的动画播放程序的设计
– 运行程序,在Estopframe文本框中输入结束帧为9,单击“开 运行程序,在Estopframe文本框中输入结束帧为9 始播放”按钮