五.飞机大战( 九 )

  1. //爆炸数组
  2. Bomb m_bombs[BOMB_NUM];

在碰撞检测成员函数中,当发生碰撞时,设置爆炸对象的信息
  1. //播放爆炸效果
  2. for(int k = 0 ; k < BOMB_NUM;k++)
  3. {
  4. if(m_bombs[k].m_Free)
  5. {
  6. //爆炸状态设置为非空闲
  7. m_bombs[k].m_Free = false;
  8. //更新坐标
  9. m_bombs[k].m_X = m_enemys[i].m_X;
  10. m_bombs[k].m_Y = m_enemys[i].m_Y;
  11. break;
  12. }
  13. }

在 .cpp的中追加代码
  1. //计算爆炸播放的图片
  2. for(int i = 0 ; i < BOMB_NUM;i++)
  3. {
  4. if(m_bombs[i].m_Free == false)
  5. {
  6. m_bombs[i].updateInfo();
  7. }
  8. }

在 .cpp的中追加绘制爆炸代码
  1. //绘制爆炸图片
  2. for(int i = 0 ; i < BOMB_NUM;i++)
  3. {
  4. if(m_bombs[i].m_Free == false)
  5. {
  6. painter.drawPixmap(m_bombs[i].m_X,m_bombs[i].m_Y,m_bombs[i].m_pixArr[m_bombs[i].m_index]);
  7. }
  8. }

测试,实现爆炸效果
五.飞机大战

文章插图
12 音效添加
音效添加步骤如下:
12.1 添加多媒体模块
在工程文件.pro 中修改代码
QT+= core gui multimedia
五.飞机大战

文章插图
12.2 播放音效
在.h中 添加音效的配置路径
  1. #define SOUND_BACKGROUND ":/res/bg.wav"
  2. #define SOUND_BOMB ":/res/bomb.wav"

注: 使用时候要包含头文件 # \
在中添加背景音乐
  1. //启动背景音乐
  2. QSound::play(SOUND_BACKGROUND);

在爆炸时候添加爆炸音效
  1. //播放音效
  2. QSound::play(SOUND_BOMB);

测试音效
13 打包发布 确定环境变量配置好 PATH:C:\Qt\Qt5.x.x\5.x.x\\bin在QT中把运行模式切换成模式, 编译 。在外层目录中会有版本的目录.将目录中的 rcc 二进制资源文件、可执行程序文件(.exe) 拷贝到另外一个单独的文件夹中.进入 cmd 命令模式,切换到可执行程序所在的目录. 执行以下命令,将可执行程序所需的库文件拷贝到当前目录:
c.exe额外可以将 ico 图标也拷贝到当前可执行程序所在的目录.启动 HM NIS EDIT 软件,在软件中选择: 文件->新建脚本向导, 接下来跟着向导操作.为了让安装包安装软件也有快捷方式图标,在生成的脚本里 。进行修改:
【五.飞机大战】c"$\飞机大战.lnk" "$\.exe""$\飞机大战.lnk" "$\.exe" "" "$\app.ico点击菜单栏的NSIS,然后选择编译,在桌面生成安装包.