五.飞机大战

1 项目简介
飞机大战是我们大家所熟知的一款小游戏,本教程就是教大家如何制作一款自己的飞机大战
首先我们看一下效果图

五.飞机大战

文章插图
玩家控制一架小飞机,然后自动发射子弹,如果子弹打到了飞下来的敌机,则射杀敌机,并且有爆炸的特效
接下来再说明一下案例的需求,也就是我们需要实现的内容
2 创建项目
创建项目步骤如下:
基类选择 空窗口
?第一个场景为主场景
?不带UI界面
2.1 打开Qt
找到你安装的Qt ,打开它
如果安装时,没有选择在桌面上建立快捷方式,那么你的Qt软件位置如下
C:\qt\Qt5.x.x\Tools\\bin
在这个路径下找到.exe双击打开即可
2.2 按照向导创建项目 2.2.1 新建项目
点击菜单 中的文件 -> 新建文件或项目 或者 在首页面中点击New
五.飞机大战

文章插图
2.2.2 选择模板
模板选择-> Qt
五.飞机大战

文章插图
2.2.3 项目名称和位置
给项目起个名称以及选中项目要保存的地方
五.飞机大战

文章插图
这一步选择后在Kits 构建套件中直接点击下一步即可
2.2.4 类信息
基类选择
类名也就是我们第一个窗口场景的名称,这里我起名为代表游戏中的主场景
取消创建界面中的内容
五.飞机大战

文章插图
2.2.5 完成创建
五.飞机大战

文章插图
在汇总页面中点击完成,我们就迈开了项目的第一步!
3 设置主场景
? 主场景设置的步骤如下:
3.1 配置文件添加
创建新的头文件为 .h 主要记录程序中所有的配置数据,方便后期修改
添加窗口宽度、高度的配置信息,依据背景图大小进行设置
  1. /**********游戏配置数据 **********/
  2. #define GAME_WIDTH512//宽度
  3. #define GAME_HEIGHT 768//高度
  4. #define GAME_TITLE "飞机大战 v1.0" //标题

3.2 主场景基本设置
在.h中添加新的成员函数 用来初始化游戏场景
voidinitScene();
在.cpp中实现如下代码
  1. void MainScene::initScene()
  2. {
  3. //初始化窗口大小
  4. setFixedSize(GAME_WIDTH,GAME_HEIGHT);
  5. //设置窗口标题
  6. setWindowTitle(GAME_TITLE);
  7. }

在构造函数中调用该函数
  1. MainScene::MainScene(QWidget *parent)
  2. : QWidget(parent)
  3. {
  4. //初始化场景
  5. initScene();
  6. }

测试运行效果如图:
五.飞机大战

文章插图
4 资源导入
在主场景中其实还有一个配置项没有实现,也就是窗口左上角的那个图标资源
那么接下来我们将游戏中的资源进行导入并且设置游戏图标
资源导入步骤
4.1 qrc文件生成
右键项目,点击添加新文件
五.飞机大战

文章插图
选择Qt -> QtFile
五.飞机大战

文章插图