Qt - 从零到壹的 打地鼠 游戏

这篇具有很好参考价值的文章主要介绍了Qt - 从零到壹的 打地鼠 游戏。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

❤️‍🔥欢迎收看西北风的blog,好男人就是我,我就是西北风。✨

Gitee 地址 W_A_Mole · NTC_jason/cc语言 - 码云 - 开源中国 (gitee.com)

目录

🟥一:创建一个主窗体

🟣二.:添加主窗口背景图片以及相关部件 

🔸2.1 添加资源文件

 2.1.1 添加资源文件

2.1.2 在项目中添加资源文件

🔸 2.2 为 窗口 添加背景图

2.2.1打开 mainwindow.ui

🔸 2.3 为窗口添加开始按钮

🔵三:增加游戏界面

🔹3.1 新建窗口 更名为game

🔹3.2将主窗口与game窗口联动。

🔹3.3添加背景图片

🔹3.4 添加 地鼠 按钮。

 🔹3.5为 地鼠 添加 定时器

🔹3.6 改变鼠标样式,增加简单锤子。

🔴四:完善,增加,退出游戏,简易分数,简易难度 

🔺4.1 退出游戏按钮

🔺4.2分数

🔺4.3简易难度

​🔺4.4 鼠标在普通按钮上变回普通样式


🟥一:创建一个主窗体

Qt - 从零到壹的 打地鼠 游戏

 下一步即可。名字自选

🟣二.:添加主窗口背景图片以及相关部件 

🔸2.1 添加资源文件

 2.1.1 添加资源文件

        在项目文件夹下新建文件夹,用于存放资源文件

                        Qt - 从零到壹的 打地鼠 游戏

        在资源文件npg内,添加图片。图源网络,可自行更改。

                Qt - 从零到壹的 打地鼠 游戏

2.1.2 在项目中添加资源文件

        新建一个Qt 下的资源文件Qt - 从零到壹的 打地鼠 游戏

        下一步,名称自选。下一步添加到之前创建的项目下。

Qt - 从零到壹的 打地鼠 游戏

  完成会出现右图资源文件 Qt - 从零到壹的 打地鼠 游戏

 对qrc文件 右键 找到 open in editor

         Qt - 从零到壹的 打地鼠 游戏

 如上图,添加按钮下拉菜单,选择添加前缀。

注:前缀如路径,尽量用英文并且简单。默认如上图。

再次点击添加,添加文件,选择我们的4张图片。就完成了资源文件的添加。

                 Qt - 从零到壹的 打地鼠 游戏

最后一步,尤为重要,在此处右键,点击重新构建。此时资源文件才算添加成功。

注: 每一次修改资源文件 均需重新构建。

Qt - 从零到壹的 打地鼠 游戏

🔸 2.2 为 窗口 添加背景图

2.2.1打开 mainwindow.ui

        点击centralWidget窗口部件。 找到styleSheet 打开。Qt - 从零到壹的 打地鼠 游戏

         在添加资源下拉菜单里,含有 background-image、border-image、image 三个选项。

 区别自行百度,在这里我们使用background-image。顾名思义,背景图

        Qt - 从零到壹的 打地鼠 游戏

        使用background-image,有一个需要注意的点,它会将此窗口上所有部件全部添加背景。而我们只需窗口需要背景,其他部件不需要此背景。

        所以,需要把background-image: url(........);放在#MainWindow{}里(MainWindow为主窗口的对象名),意思就是只针对主窗口设置有效,子部件无用;

                Qt - 从零到壹的 打地鼠 游戏

        对窗口调整大小后,效果如图

Qt - 从零到壹的 打地鼠 游戏

🔸 2.3 为窗口添加开始按钮

        按钮部件放在开始游戏位置并且更名为开始游戏,覆盖掉。

Qt - 从零到壹的 打地鼠 游戏

此时我们的简单的主窗口界面依然完成。

🔵三:增加游戏界面

🔹3.1 新建窗口 更名为game

Qt - 从零到壹的 打地鼠 游戏

 Qt - 从零到壹的 打地鼠 游戏

 Qt - 从零到壹的 打地鼠 游戏

🔹3.2将主窗口与game窗口联动。

3.2.1使用主窗口的开始游戏按钮

        在主窗口的头文件中添加game窗口的头。

        Qt - 从零到壹的 打地鼠 游戏

使用按钮,转到槽。

Qt - 从零到壹的 打地鼠 游戏

 添加如下代码。即可实现,按下后出现game界面。

void MainWindow::on_pushButton_clicked()
{
    Game *configWindow = new Game;
    configWindow->show();
}

🔹3.3添加背景图片

        我们创建了一个Qwidget类的窗口,在此窗口下添加背景图片有一个需要注意的细节,

那就是需要再添加一个窗口部件去完成背景设置,才能显示我们的图片。

        我们添加一个widget部件,对game进行覆盖,并且调整大小

        Qt - 从零到壹的 打地鼠 游戏

        对于背景图片,如主窗口一样添加,不再赘述。

Qt - 从零到壹的 打地鼠 游戏

🔹3.4 添加 地鼠 按钮。

3.4.1也就是一个按钮部件,但这个部件需要是一个不规则的按钮,并且有着地鼠摸样。

注 ; 我们需要使用一张背景为透明的图片。

我使用PS软件,去除背景。选中背景后 按下 delete 删除背景即可。 

        Qt - 从零到壹的 打地鼠 游戏

注 : 在存储文件格式时 选用png格式,因为jpg格式不支持透明背景,会把背景填充为白色。

        3.4.2 添加按钮部件

        Qt - 从零到壹的 打地鼠 游戏

        3.4.3 为按钮部件设置为不规则按钮。

注:地鼠图片的像素大小即为不规则按钮的大小,因为方法是将按钮覆盖在图片上,使用时请修改图片大小。

        

//头文件
#include"QPixmap"
#include"QBitmap"
//改变按钮为不规则按钮
         QPixmap pix;
         pix.load("........图片路径");
         ui->pushButton->setFixedSize(pix.size());
         ui->pushButton->setMask(pix.mask());
         ui->pushButton->setStyleSheet("background-image: url(........图片路径)");

如有相关问题,参开本人Qt 下的收藏夹。不规则按钮。

图片路径获取,打开资源文件。相应图片右键,选项 复制资源路径到粘贴板。

Qt - 从零到壹的 打地鼠 游戏

代码放置位置,在cpp文件下、如下。

Qt - 从零到壹的 打地鼠 游戏

 🔹3.5为 地鼠 添加 定时器

        地鼠,在一定的时间下,到点,跳到其他位置。此文并未添加地鼠洞。所以是全图随机。这是一个函数,所以在头文件的类中需要添加声明。

Qt - 从零到壹的 打地鼠 游戏

void Game::timerEvent(QTimerEvent *)
{
    ui->pushButton->move(QRandomGenerator::global()->bounded(0,1200),QRandomGenerator::global()->bounded(0,1200));
    killTimer(timerNum);
    timerNum=startTimer(500);//500毫秒跳一次
}

再通过按钮的槽函数,增加点击事件

void Game::on_pushButton_clicked()
{
    killTimer(timerNum);
    timerNum=startTimer(500);
    
}

🔹3.6 改变鼠标样式,增加简单锤子。

        添加如下代码。并绑定在窗口下。

        QCursor cCursor;
        QPixmap cMap("....图片路径...");
        QSize cSize(60, 60);// 鼠标形状大小,可以自己指定,合适即可
        QPixmap cScaleMap = cMap.scaled(cSize, Qt::KeepAspectRatio);
        cCursor = QCursor(cScaleMap);
        ui->widget->setCursor(cCursor);

代码位置依旧。

🔴四:完善,增加,退出游戏,简易分数,简易难度 

🔺4.1 退出游戏按钮

        增加按钮,放置右下角,更名,不再赘述。

void Game::on_pushButton_2_clicked()
{
    close();
}

🔺4.2分数

在窗口左上角添加 2个laber 部件,一个作为名字,一个记录分数。

简易: 每打一次地鼠,分数增加。

Qt - 从零到壹的 打地鼠 游戏

在头文件增加一个 整形 变量用以分数存储和增加

Qt - 从零到壹的 打地鼠 游戏


void Game::on_pushButton_clicked()
{
    killTimer(timerNum);
    timerNum=startTimer(500);
    a += 10;
    ui->label_2->setNum(a);
}

🔺4.3简易难度

            添加一个整形变量,右下角增加2个按钮,点击后改变地鼠跳变时间。

Qt - 从零到壹的 打地鼠 游戏

🔺4.4 鼠标在普通按钮上变回普通样式

 QCursor cCursor2;
    ui->pushButton_2->setCursor(cCursor2);
    ui->pushButton_3->setCursor(cCursor2);
     ui->pushButton_4->setCursor(cCursor2);

🚩结束语:基本完成简易地鼠,若有其他想法,自行完善

 🉑要想不迷路,点赞加关注🔥文章来源地址https://www.toymoban.com/news/detail-427373.html

到了这里,关于Qt - 从零到壹的 打地鼠 游戏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Python从零到壹] 七十二.图像识别及经典案例篇之OpenGL入门及绘制基本图形和3D图

    十月太忙,还是写一篇吧!祝大家1024节日快乐O(∩_∩)O 欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家

    2024年02月06日
    浏览(58)
  • [Python从零到壹] 七十三.图像识别及经典案例篇之图像去雾ACE算法和暗通道先验去雾算法实现

    十月太忙,还是写一篇吧!祝大家1024节日快乐O(∩_∩)O 欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家

    2024年01月17日
    浏览(49)
  • 打地鼠游戏编程代码,pygame打地鼠游戏代码

    大家好,小编来为大家解答以下问题,打地鼠游戏编程代码,pygame打地鼠游戏代码,今天让我们一起来看看吧! 文章目录 0 项目简介 1 游戏介绍 2 实现效果 3 开发工具 3.1 环境配置 3.2 Pygame介绍 4 具体实现 4.1 实现游戏精灵类 4.2 实现游戏主循环 4.3 制作简易的游戏开始和结束

    2024年01月25日
    浏览(42)
  • 打地鼠python程序设计说明,打地鼠游戏编程代码

    大家好,小编来为大家解答以下问题,python打地鼠游戏代码及图片教程,python打地鼠游戏代码及图片大全,现在让我们一起来看看吧! 导语 ​ 闲来无事: 铲屎官用废旧的纸箱,给猫主子做了一个打地鼠玩具,看,主子玩得不亦乐乎 打掉了——咦,怎么还有,怎么还有两个

    2024年03月27日
    浏览(50)
  • 安卓实现简单砸地鼠游戏

    效果 布局  实现代码, 备注 以上只是简单把功能实现出来,大家有需要可以拿来改为自己想要的

    2024年02月20日
    浏览(22)
  • Python-打地鼠游戏【附源码】

    还记得童年的打地鼠游戏机嘛?今天它将以代码的形式呈现在大家的眼前 运行效果:移动鼠标就可以进行打地鼠的操作啦!!! 因为素材及源码过多,无法在文章中全部概括,关注+私信我发送源码

    2024年02月05日
    浏览(53)
  • 【Android】开发”打地鼠“小游戏

    【Android】移动端设备介绍(工业手持机) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/130604517 【Android】开发”打地鼠“小游戏 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129398048 【H5】avalon前端数据双向绑定 本文链接:https://blog.csdn.net/youcheng_ge/article/details/131067

    2024年02月05日
    浏览(70)
  • 前端搭建砸地鼠游戏(内附源码)

    上周我们实通过前端基础实现了打字通,当然很多伙伴再评论区提出了想法,后续我们会考虑实现的,今天还是继续按照我们原定的节奏来带领大家完成一个砸地鼠的小游戏,功能也比较简单简单,也是想借助这样一个简单的功能,然后来帮助大家了解我们JavaScript在前端中的

    2023年04月14日
    浏览(39)
  • JVM:从零到入门

    JVM,就是Java虚拟机。 JVM是一个巨大的话题,我们本文主要简单介绍一些围绕JVM相关的基础知识。 目录 JVM内存区域划分 本地方法栈 虚拟机栈 堆 程序计数器 方法区/ 元数据区 类加载 1.加载 2.验证 3.准备 4.解析 5.初始化 双亲委派模型 垃圾回收机制 引用计数 可达性分析 如何

    2024年01月17日
    浏览(41)
  • python小游戏 打地鼠小游戏设计与实现

    🔥 Hi,各位同学好呀,这里是L学长! 🥇今天向大家分享一个今年(2022)最新完成的毕业设计项目作品 python小游戏毕设 打地鼠小游戏设计与实现 (源码) 🥇 学长根据实现的难度和等级对项目进行评分(最低0分,满分5分) 难度系数:3分 工作量:3分 创新点:4分 打地鼠的游戏规

    2024年02月06日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包