LabWindows/CVI虚拟仪器设计技术场景与游戏设计之: 打蜜蜂
4.5 打蜜蜂
4.5.1 打蜜蜂设计方法
20 世纪80 年代开始流行电视游戏,打蜜蜂游戏是其中一款非常有特点的小游戏,相信很多70 后的人都有同图4-12 运行效果图感。利用LabWindows/CVI 开发一个简单的打蜜蜂游戏,设置好自定义的蜜蜂、飞机、炸弹、子弹、背景、音效等,按下上下左右键(↑、↓、←、→)移动飞机,按下"a"键发射子弹,一场生动的游戏便展现在眼前。
需要注意的是,在LabWindows/CVI 中,设置Picture 控件背景透明,控件中的图片并非透明,若要将图片与背景融合,可以将图片转换为图标(*.ico)格式文件,并设置图标背景透明。本例程所有图片资源与音效文件均放在同一目录下。
背景透明图标制作过程并不复杂,可将现有的一些图片资源直接转换为图标文件,并将其背景设置为透明即可。PictureToIcon 能将图片或屏幕的一部分转化为Icon 图标,调整图标大小以及从资源库中提取Icon,支持BMP 、JPEG 、GIF 、CUR、WMF 等格式转换。通过PictureToIcon 工具,可以方便地创建、编辑、载入和保存图标,并可设置图标透明度,甚至可以从.exe、.dll、.scr 和.ocx 文件中提取图标;支持16 位、24 位和32 位真彩图标,其最新版本支持图标改变大小从1×1 到256×256 。
在图标设计文件夹下找到PictureToIcon.exe 文件,双击打开该程序,如图4-13 所示。点击载入图标按钮,弹出打开对话框,选择需要转换的图像文件,如打开bee.bmp 文件,如图4-14 所示。
图4-13 PictureToIcon 图标转换工具
图4-14 打开对话框
在对话框中点击打开按钮,弹出图标编辑对话框,如图4-15 所示。在图中选择设置透明色复选框,点击确定按钮,弹出请确认对话框,点击是按钮即可,如图4-16 所示。
图4-15 图标编辑对话框
图4-16 请确认对话框
加到主窗口后,在右侧显示获得的透明图标文件,如图4-17 所示,点击保存图标按钮进行保存。至此,一个背景透明的蜜蜂图标就做好了,依次将飞机、炸弹、子弹等做成透明图标,以备程序中调用。
4-17 透明图标
4.5.2 打蜜蜂程序设计
(1)面板设计
编写一个打蜜蜂游戏,游戏一开始,蜜蜂开始移动,并每隔一段时间发射一颗炸弹,如果枪(飞机)被炸弹击中,则显示击中画面,并弹出游戏结束面板,点击重新开始则继续游戏,点击退出结束游戏。如果枪(飞机)发射的子弹击中蜜蜂,同样显示击中画面,弹出游戏结束面板。面板设计如图4-18 所示,面板中主要控件属性设置如表4-9 所示。
(a)打蜜蜂面板
(b)游戏结束面板
图4-18打蜜蜂游戏面板
表4-9控件属性设置表
常量名 | 控件类型 | 控件的主要属性 |
PANEL | Panel | 标题:打蜜蜂回调函数:PanelCB |
PICTURE | Picture | Load Image:backgraph.jpg |
PICTURE_BEE | Picture | Load Image:bee.ico |
PICTURE_SHOOTBEE | Picture | Load Image:shootbee.ico |
PICTURE_GUN | Picture | Load Image:gun.ico |
PICTURE_SHOOTGUN | Picture | Load Image:shootgun.ico |
PICTURE_BOOM | Picture | Load Image:boom.ico |
PICTURE_BULLET | Picture | Load Image:bullet.ico |
TIMER | Timer | 标题:timer 回调函数:timer Interval:0.010 |
TIMER_BEE | Timer | 标题:beerun 回调函数:beerun Interval:0.100 |
PANEL_POP | Panel | 标题:游戏结束回调函数:PanelCB |
TEXTMSG | Text Message | 默认值:游戏结束!请重新开始 |
CMD_RESTART | Command Button |
LabWindows 虚拟仪器 CVI 场景 游戏 相关文章:
- 用于雷达测试和验证的自动化测试设备(05-15)
- 基于LabWindows的录波分析仪的设计(03-01)
- LabWindows/CVI虚拟仪器设计技术基本控件使用之: Tab 控件(11-13)
- LabWindows/CVI虚拟仪器设计技术场景与游戏设计之:时钟制作(11-13)
- LabWindows/CVI虚拟仪器设计技术场景与游戏设计之: 下雪场景(11-13)
- LabWindows/CVI虚拟仪器设计技术基本控件使用之:回调函数(11-13)