多媒体软件设计实验报告.docx
- 文档编号:11570444
- 上传时间:2023-03-19
- 格式:DOCX
- 页数:17
- 大小:530.23KB
多媒体软件设计实验报告.docx
《多媒体软件设计实验报告.docx》由会员分享,可在线阅读,更多相关《多媒体软件设计实验报告.docx(17页珍藏版)》请在冰豆网上搜索。
多媒体软件设计实验报告
《多媒体软件设计技术》
实验报告书
编写:
杨岚
学院:
信息科学与工程学院
班级:
自动化0903
实验一常用控件与界面、菜单设计
1、实验目的
通过本实验,要求掌握常用控件的属性、事件、方法,理解事件驱动的概念。
掌握界面的基本设计方法,掌握下拉式菜单的设计方法。
2、实验内容
实验1:
打字游戏
1)设计界面
图一设计界面
2)运行界面
图二运行界面
3)属性设置
控件名称
属性名称
属性值
窗体
Caption
打字游戏
Startupposition
2-屏幕中心
backcolor
&H0080FF80&(绿色)
标签框数组label1
共10个
Caption
空
autosize
true
标签框label2
caption
您现在得分:
font
幼圆、粗体、小三
forecolor
&H80000012&
标签框label2
caption
0
autosize
true
font
幼圆、粗体、小三
定时器timer1
interval
100
Enabled
True
定时器timer2
interval
100
Enabled
True
4)代码
●窗体加载
PrivateSubForm_Load()
DimiAsInteger
DimjAsSingle
score=0
Label3.Caption=0
Forj=0ToLabel1.Count-1
Label1(j).Top=0-j*380
Randomize
i=Int((122-97+1)*Rnd+97)
Label1.Item(j).Caption=Chr(i)
Nextj
EndSub
●定时器空件Timer1:
控制字符的下落速度,用户的打字成绩每增加10分,字符的下落速度就加快,如果字符下落到一定程度,结束程序的运行。
PrivateSubTimer1_Timer()
DimiAsInteger
Fori=0ToLabel1.Count-1
Ifscore>10Then
Label1.Item(i).Top=Label1.Item(i).Top+100+10*(score\100)
Else
Label1.Item(i).Top=Label1.Item(i).Top+80
EndIf
IfLabel1.Item(i).Top>10000Then
MsgBox"您现在得分:
"&score&"分",,"成绩"
End
EndIf
Next
EndSub
●定时器控件Timer2:
不断检测标签控件数组中的标签,如果那个标签被击中,其高度(Top值)初始值赋值为小于零,随机产生的字符赋给该标签的Caption属性。
PrivateSubTimer2_Timer()
DimjAsInteger
Fori=0ToLabel1.Count-1
IfLabel1.Item(i).Top<0Then
Randomize
j=Int((122-97+1)*Rnd+97)
Label1.Item(i).Caption=Chr(j)
EndIf
Next
EndSub
●判断是否击中窗体上的字母。
PrivateSubForm_KeyPress(KeyAsciiAsInteger)
Dimtemp,heightAsInteger
height=-1
temp=-1
Fori=0ToLabel1.Count-1
IfLabel1.Item(i).Caption=Chr(KeyAscii)Then
Ifheight temp=i height=Label1.Item(i).Top EndIf EndIf Next Iftemp>-1Then Label1.Item(temp).Top=-500 score=score+1 Label3.Caption=score EndIf IfKeyAscii=27Then IfMsgBox("您现在得分: "&score&"分"+Chr(13)+Chr(10)+"真的要退出吗? ",vbYesNo,"成绩")=vbYesThenEnd EndIf EndSub ●定义一个全局变量score。 DimscoreAsInteger 实验2: 在实验1的基础上,添加菜单 1)菜单设计 图三菜单设计 2)运行界面 图四运行“当前得分”菜单 3)菜单编辑 图五菜单编辑 4)代码 ●对“开始游戏”编写代码 PrivateSubstart_Click() DimiAsInteger DimjAsSingle score=0 Label3.Caption="0" '初始化个标签的位置和显示字符 Forj=0ToLabel1.Count-1'Label1.Count: 统计控件数组共有多少个元素 Label1(j).Top=0-j*380'Top属性: 控件最顶端到容器的距离 Randomize'初始化随机函数 i=Int((122-97+1)*Rnd+97)'Int(): 取整函数;Rnd(): 随机函数;表示: 取a~z的字符 Label1.Item(j).Caption=Chr(i)'Label1.Item(j): 控件数组的第j个元素;Chr(i): 字符转换函数 Nextj EndSub ●对退出游戏编写代码 PrivateSubquit_Click() End EndSub ●对当前分数编写代码 PrivateSubnow_score_Click() MsgBox"您现在的得分是: "&score,vbInformation,"当前得分" EndSub ●其他的代码Timer1,Timer2,判断是否击落字符同实验1。 实验二VB图像处理程序的设计 1、实验目的 通过本实验,要求掌握VB图形、图像处理程序设计的基本方法 2、实验内容 图片的百叶窗效果 1)设计界面 图一设计界面 2)运行界面 图二运行,窗体载入图三单击“水平” 图四单击“垂直”图五单击“交互” 3)属性设置 控件名称 属性名称 属性值 窗体 Caption 图片的百叶窗效果 Startupposition 2-屏幕中心 图片框控件1 Name ps AutoSize True 图片框控件2 Name pd AutoSize True 命令按钮1 Name shuiping Caption 水平 命令按钮2 Name chuizhi Caption 垂直 命令按钮3 Name jiaohu Caption 交互 命令按钮4 Name clear Caption 清除 命令按钮5 Name quit Caption 退出 4)代码 ●通用段代码 ConstxTimes=5 ConstCOPY_PUT=&HCC0020'表示图片直接拷贝 PrivateDeclareFunctionBitBltLib"gdi32"(ByValhDestDCAsLong,_ ByValXAsLong,ByValYAsLong,ByValnWidthAsLong,_ ByValnHeightAsLong,ByValhSrcDCAsLong,ByValxSrcAsLong,_ ByValySrcAsLong,ByValdwRopAsLong)AsLong ●窗体加载 PrivateSubForm_Load() Ps.Picture=LoadPicture(App.Path&"\lovely.jpg") EndSub ●水平按钮 PrivateSubshuipin_Click() DimHAsLong,WAsLong DimiAsLong,jAsLong,mAsLong,nAsLong H=Ps.ScaleHeight W=Ps.ScaleWidth Fori=0To(xTimes-1) Forj=iToHStepxTimes BitBltPd.hDC,0,j,W,1,Ps.hDC,0,j,COPY_PUT Delay100000 Nextj Nexti EndSub ●垂直按钮 PrivateSubchuizhi_Click() DimHAsLong,WAsLong DimiAsLong,jAsLong,mAsLong,nAsLong H=Ps.ScaleHeight W=Ps.ScaleWidth Fori=0To(xTimes-1) Forj=iToWStepxTimes BitBltPd.hDC,j,0,1,H,Ps.hDC,j,0,COPY_PUT Delay100000 Nextj Nexti EndSub ●交互按钮 PrivateSubjiaohu_Click() DimHAsLong,WAsLong DimiAsLong,jAsLong H=Ps.ScaleHeight W=Ps.ScaleWidth Fori=0ToxTimes-1 Forj=iToHStepxTimes BitBltPd.hDC,j,0,1,H,Ps.hDC,j,0,COPY_PUT BitBltPd.hDC,0,j,W,1,Ps.hDC,0,j,COPY_PUT Delay50000 Nextj Nexti EndSub ●清除按钮 PrivateSubclear_Click() Pd.Cls EndSub ●退出按钮 PrivateSubquit_Click() End EndSub ●延迟函数(子过程) '延时子过程,以便于能看清楚切换效果。 PrivateSubDelay(ByValtAsLong) DimiAsLong Fori=0Tot Next EndSub 实验三多媒体音频、视频程序的设计、VB实现图形动画的方法 1、实验目的 通过本实验,要求掌握多媒体音频、视频程序的设计方法,了解VB实现图形动画的方法。 2、实验内容 实验1: 音频程序的设计(MCI控件的用法) 1)设计界面 图一设计界面 2)运行界面 图二运行界面 3)属性设置 控件名称 属性名称 属性值 窗体 Caption MMControl的用法 Startupposition 2-屏幕中心 BackColor &H0080FF80&(淡绿色) 标签框Label1 BackStyle 1-不透明 Caption 正在播放的文件是: 标签框Label2 BackStyle 1-不透明 Caption 文件总长度: 标签框Label3 BackStyle 1-不透明 Caption 播放进度: 标签框Label4 Name file_name Alignment 2-中心 BackStyle 1-不透明 BordStyle 1-有边线 标签框Label5 Name file_size Alignment 2-中心 BackStyle 1-不透明 BordStyle 1-有边线 标签框Label6 Name file_grade Alignment 2-中心 BackStyle 0-透明 BordStyle 1-有边线 MCI控件 Name Mmcontrol1 通用对话框控件 Name Com 命令按钮 Name close Caption 关闭 4)代码 ●窗体加载 PrivateSubForm_Load() Com.Filter="Wav件|*.wav|MIDI文件|*.mid|WMA文件|*.wma|AVI文件|*.avi|所有文件|*.*" Com.ShowOpen MMControl1.FileName=Com.FileName file_name.Caption=Com.FileName MMControl1.Command="open" EndSub ●关闭按钮 PrivateSubclose_Click() End EndSub ●卸载窗体 PrivateSubForm_Unload(CancelAsInteger) MMControl1.Command="close" EndSub ●文件长度 PrivateSubMMControl1_StatusUpdate() '计算文件总长度,单位为秒 file_size.Caption=MMControl1.Length/1000&"K" '动态显示当前的播放位置 file_grade.Caption=MMControl1.Position/1000&"K" EndSub 实验2: 视频程序的设计(MediaPlayer控件的用法) 1)设计界面 图一设计界面 2)运行界面 图二运行界面 3)属性设置 控件名称 属性名称 属性值 窗体 Caption MediaPlayer控件的用法 Startupposition 2-屏幕中心 BackColor &H0080FF80&(淡绿色) 标签框Label1 BackStyle 1-opaque(不透明) Caption 正在播放的文件是: 标签框Lable2 Name file_name BackStyle 1-opaque(不透明) BordStyle 1-有边线 MediaPlayer控件 Name WindowsMediaPlayer1 通用对话框控件 Name CommonDialog1 命令按钮1 Name play Caption 播放 命令按钮2 Name quit Caption 退出 4)代码 ●播放按钮 PrivateSubplay_Click() CommonDialog1.Filter="AVI文件|*.avi|WMA文件|*.wma|Wav文件|*.wav|所有文件|*.*" CommonDialog1.ShowOpen WindowsMediaPlayer1.URL=CommonDialog1.FileName file_name.Caption=CommonDialog1.FileName EndSub ●退出按钮 PrivateSubquit_Click() End EndSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多媒体 软件设计 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)