五.飞机大战( 二 )


资源文件起名 如:res

五.飞机大战

文章插图
生成res.qrc文件
五.飞机大战

文章插图
4.2 创建res文件夹
项目的同级目录下创建文件夹res,并将准备好的资源粘贴进去
五.飞机大战

文章插图
4.3 编辑qrc文件
右键qrc文件,选中Open in
五.飞机大战

文章插图
添加前缀为 '' \ ''
五.飞机大战

文章插图
添加文件 将res下所有文件选中即可
五.飞机大战

文章插图
4.4 qrc生成 rcc二进制文件
由于资源过大,会提示错误:
这个错误也就是“编译器的堆空间不足” 。
由于资源文件qrc过大,超出分配的内存范围
因此我们需要利用二进制资源,而生成二进制资源就需要我们刚刚的qrc文件
利用cmd打开终端,定位到res.qrc的目录下,输入命令
rcc -binary .\res.qrc -o plane.rcc
五.飞机大战

文章插图
4.5 复制rcc文件
将生成好的rcc文件,放入到debug同级目录中一份
五.飞机大战

文章插图
4.6 注册二进制文件
在.h中追加配置数据
#define GAME_RES_PATH"./plane.rcc" //rcc文件路径
在main.cpp中修改代码
  1. #include "mainscene.h"
  2. #include
  3. #include
  4. #include "config.h"
  5. int main(int argc, char *argv[])
  6. {
  7. QApplication a(argc, argv);
  8. //注册外部的二进制资源文件
  9. QResource::registerResource(GAME_RES_PATH);
  10. MainScene w;
  11. w.show();
  12. return a.exec();
  13. }

此时,qrc文件已经没用了,删除即可!
最简单的删除方式就是 .pro工程文件中删除代码,与工程无瓜葛
  1. 删除以下代码:
  2. RESOURCES += \
  3. res.qrc

4.7 添加图标资源
配置文件.h中追加代码
虚拟资源路径语法如下:
" : + 前缀名 + 文件路径 "
#define GAME_ICON":/res/app.ico"
在.cpp的 函数中追加代码:
  1. //设置图标资源
  2. setWindowIcon(QIcon( GAME_ICON));//加头文件 #include

五.飞机大战

文章插图
运行测试:
五.飞机大战

文章插图
5 地图滚动
步骤:
5.1 创建地图文件和类
? 右键项目,添加新文件
五.飞机大战

文章插图
选择C++ -> C++ Class
五.飞机大战

文章插图
修改类名为map,点击下一步,直到创建完毕
五.飞机大战

文章插图
至此,地图Map的文件和类创建完毕
5.2 地图的成员函数和成员属性