阅读以下应用说明以及用Visual Basic开发过程中进行的属性设置和所编写的程序代码。 [应用说明] 启动某应用程序后,其运行窗口左边会出现两只蝴蝶,下边有“启动”和“停止” 两个按钮。单击“启动”按钮后,伴随“两只蝴蝶”音乐,两只蝴蝶会分

admin2008-05-10  28

问题 阅读以下应用说明以及用Visual Basic开发过程中进行的属性设置和所编写的程序代码。
   [应用说明]
   启动某应用程序后,其运行窗口左边会出现两只蝴蝶,下边有“启动”和“停止”
两个按钮。单击“启动”按钮后,伴随“两只蝴蝶”音乐,两只蝴蝶会分别沿两条互绞的曲线,从左至右翩翩飞行(见下图),而且飞出窗口右边后又会再从窗口左边飞入。单击“停止”按钮时,两只蝴蝶停止飞行,回到初始状态,音乐也同时停止。再单击“启动”按钮时,蝴蝶重新开始伴音飞行。

   在开发该应用时,两只蝴蝶用两个图像框来表示,分别命名为Imagel和Image2,其Picture属性分别设置为各个蝴蝶的图像文件名,其stretch属性都应设置为  (1)  ,使图像能自动改变大小以适应图像框。再在窗体中建立“启动”按钮(名为CmdStart)和“停止”按钮(名为CmdStop)。
   蝴蝶所飞行的路线分别用正弦和余弦曲线描述。为此,首先需要用Scal方法对窗体定义坐标系统。设左上角坐标为(0,0),右下角坐标为(20,6)。蝴蝶1的飞行曲线设为:y1=2+sinx,蝴蝶2的飞行曲线设为:y2=2+cosx。蝴蝶飞行的位置坐标(x,y)确定了蝴蝶图像框的位置(Left属性值和Top属性值)。
   设置一个定时器(名为timerl),其定时时间间隔为0.1秒,所以其Interval属性值应设置为100。每隔0.1秒需要对两个图像框的位置进行一次调整。初始时,该定时器的 Enabled属性应设为False(关闭状态)。
   为使该应用程序运行时能播放声音文件,在开发时应利用菜单“工程—部件”,选择加载组件“Microsoft Multimedia Control 6.0”,并在窗体中设置多媒体控件(设命名为 MMC)。由于不需要用户控制,其Visible属性可设置为False(不可见)。右击该控件,可选择该控件中各按钮的属性,应注意选择“播放”有效、“停止”有效。“两只蝴蝶”的音乐文件应提前准备好,并通过某种音频处理程序将其转换成WAV格式,存放在开发该应用的当前目录中。
    Dim  (2)                                          ’声明全局变量
   Private Sub Form_Load()
     Scale(0,0)-(20,6)                              ’定义窗体的坐标系统
    End Sub
   Private Sub CmdStart_Click()
    x=0
    MMC.DevkeType=’’WaveAudio’’                       ’设置多媒体设备类型
    MMC.FileName=’’两只蝴蝶.wav’’                     ’确定声音文件名
    MMC.Cornmand=’’Open’’                            ’打开多媒体设备
    MMC.Command=’’P1ay’’                             ’启动声音的播放
    Timer1.Enabled=True                               ’打开定时器
   End Sub

   Private Sub Timer1_Timer()
     Ifx>20 Thenx=x-20                               ’蝴蝶飞到右边界后再回到左边界
     Image1.Left=x                                    ’动态调整蝴蝶框的位置
     Imagel.Top=  (3)  
     Image2.Len=x
     lmage2.Top= (4)  
     x=x+0.1                                         ’确定蝴蝶下一步飞行位置
     End Sub

   Private Sub CmdStop_Click()
    (5)  
    Image1.Left=0                                     ’蝴蝶位置初始化
    Image1.Top=2
    Image2.Left=0
    Imagc2.Top=3
    MMlC.Command=’’Stop’’                             ’停止播放
    MMC.Command=’’Ciosc’’                            ’关闭多媒体设备
   End Sub

选项

答案(1)True (2)x As Single (3)2+sin(x) (4)2+cos(x) (5)Timer1.Enabled=False

解析 本题涉及两个技术要点。一是利用图像框在窗体中的动态定位实现简单动画,一是利用多媒体控件播放声音文件。
   在窗体中,为了便于实现图像框的定位,一般需要先建立自定义的坐标系统。
   在主窗体加载过程(Form Load)中,采用语句:
       Seal(0,o)-(20,6)
   就为该窗体设置了自己的坐标系统,左上角坐标为(0,0),右下角坐标为(20,6)。
   
   X轴在屏幕上边,从左至右,从0到20。Y轴在屏幕左边,自上而下,从0到6。
   在该坐标系统中,曲线y1=2+sin(x)与曲线y2=2+cos(x)成为互绞的两条曲线。
   对曲线上的每一点(x,y),它与屏幕左边的距离为x,与屏幕顶端的距离为y。因此,蝴蝶1图像框的位置应按:Image1.Leff=x,Image1.ToDF2+sin(x)进行动态调整;蝴蝶2图像框的位置应按:Image2.Leff=x,Image2.Top=2+cos(x)进行动态调整。
   初始时,蝴蝶1的位置应在:Imagel.Leff=O,Imagel.Top=2;蝴蝶2的位置应在: Image2.Leff=0,Image2.Top=3。
   建立两个图像框时,不仅应注意其初始位置,还应注意设置其属性:stretch属性应设置成True,才能使指定图像经过自动缩放后放在该框内。图像框中显示的图像文件由属性Picture决定。因此,在准备好两个蝴蝶图像文件后,就应记住其存储的文件名和路径,设置图像框的Picture属性时就可以选择相应的路径和文件名。
   由于应用需要每隔0.1秒调整蝴蝶的位置,因此,开发时应设置一个定时器,默认命名为Timer1。该定时器的interval属性(定时的时间间隔)应设置成100(以毫秒为单位),Enabled属性应设置成False(初始时定时器处于关闭状态,待单击“启动”按钮后再打开)。定时器在开发时可以在窗体内看到,但在运行时看不到。
   为了在应用程序运行中播放声音文件,需要使用VB中的多媒体控件。该控件平时不在工具箱中,应在开发时利用菜单“工程-部件”,选择加载“Microsoft Multimedia Control 6.0”后,才会在工具箱中出现。
   在窗体中设置了多媒体控件后,首先应按题中的要求,将其名称改为MMC,并将其Visible属性改为False,使该控件在运行时不可见(不需要用户控制)。一个多媒体控件中包括许多按钮,例如“播放”、“停止”、“暂停”、“快进”、“倒带”、“录音”等。右击该控件,选择“属性”,在弹出的对话框中,再选择“控件”标签,在其中可以为各个按钮设置其有效性和可视性。按本应用要求,可以设置“播放”和“停止”按钮的有效性,使其余各项都处于不选中状态。
   在程序代码中,可以通过设置多媒体控件的属性值来使其发挥作用:
   多媒体控件的属性         值               含义
   DeviceTyne            WaveAudio    该多媒体设备类型能播放WAV格式声音
                         AviVideo     该多媒体设备类型能播放AVI格式视频
   FileName               *****       指定播放的文件名(包括路径)
   Command                OpeI        打开多媒体设备
                          Play        播放
                          Record      录制
                          Stop        停止播放
                          Pause       暂停播放或暂停后继续播放
                          Prev        返回当前播放文件的起点
                          Close       关闭多媒体设备
    该应用的程序代码应包括如下4个过程:
   1)主窗口加载过程,其功能为定义自己的坐标系统。
   2)“启动”按钮执行的过程,用以设置多媒体设备类型,指定所播放的声音文件名,打开多媒体设备,播放声音文件,设置蝴蝶的初始位置,打开定时器。
   3)定时器定时执行的过程,每隔0.1秒对两个蝴蝶图像框的位置进行一次调整。
   两只蝴蝶的位置(x,y1)和(x,y2)取决于变量x。初始时,x=0,位于窗口左边。每隔0.1秒,x增加0.1。当x>20,蝴蝶处于窗体右边之外时,执行x=x-20,蝴蝶将会出现在窗体左边。
   4)“停止”按钮执行的过程,其功能是:关闭定时器,两只蝴蝶定位在窗口左边初始位置,停止播放声音文件,关闭多媒体设备。
   由于单精度实数变量x在多个过程中使用,可将其放在各过程之外作为全局变量进行声明。
   注意,窗体坐标系统的值、蝴蝶飞行曲线、x值每步增加的值、定时器的时间间隔等都需要在反复调试的基础上逐步调整得到比较合适的值。
   在VB应用程序中播放指定的音频(或视频)文件,这种技术很实用,学员应学会并推广应用。
转载请注明原文地址:https://kaotiyun.com/show/2sjZ777K
0

最新回复(0)