项目简介:翻金币游戏

目录

(1)前期准备:创建,导入资源

(2)主界面设置

(3)mypushbutton进行封装

​ (4)关卡选择场景

(5)游戏场景

(6)后期优化

(7)效果展示


(1)前期准备:创建,导入资源

创建项目,以QtMainWindow为基类

添加项目资源 resfile

(2)主界面设置

基本配置:

  • 设置背景图标
  • 设置固定大小
  • 设置项目标题

  • 设置背景图片
  • 设置背景标题

  • 开始菜单-退出功能

(3)mypushbutton进行封装

pushbutton的封装,有两个参数,第一个参数为正常显示参数,不带默认值,必须由外部传入

第一个参数,如果此时按下按钮有对应动态特效而不需要替换图片,则不需要传入第二个参数,直接采用默认参数即可,这样做的好处是更好的封装,提高代码复用率

  • 开始按钮(仅传入一个参数),及按动特效

  • 返回按钮,需要切换按压前后图片,重写mousePressEvent和mouseReleaseEvent

 (4)关卡选择场景

关卡选择场景中需要监听返回按钮,返回主界面场景

主界面实例化关卡选择场景对象,进行信号槽监听

关卡选择按钮,20个关卡,设置二维矩形分布的20个按钮,按钮上需要lable标签显示关卡号,设置label控件覆盖按钮实现关卡号文字显示,click点击操作需要设置击穿属性,否则按钮监听click信号受阻

(5)游戏场景

游戏内容:金币翻转二维数组初始化设置

需要额外引入配置文件,内部对金币二维数组的初始化进行设置

游戏场景中对翻金币过程的逻辑控制

金币位置不同,翻转规则不同,需要考虑边界上的翻转情况,进行逻辑限定

 每一个金币翻转都有一个过程,银币翻转也是如此,需要设定一个QTimer定时器来限定这个翻转过程中各个图片的切换时间限制

(6)后期优化

  • 金币翻转需要标志位限定,保证翻转成功后,显示胜利图案,此时再次点击金币不会发生翻转,否则存在游戏bug

根据标志位,重写鼠标点击事件

  • 位置优化,每一个场景之间来回切换,切换前后场景设定大小不一致,会出现前后切换的场景位置中心点不固定,忽上忽下,影响游戏体验,通过设置setGeometry保证位置固定

  • 增加游戏音效,按钮点击触发不同音效,以及关卡胜利后展现音效,增强游戏体验感

设置不同音效,在信号槽监听到不同信号到来时,play对应的音效

(7)效果展示

项目实践(三)QT-CoinFlip相关推荐

  1. python项目实践_Python 项目实践三(Web应用程序)第二篇

    接着上节的继续学习,使用Django创建网页的过程通常分三个阶段:定义URL.编写视图和编写模板.首先,你必须定义URL模式,每个URL都被映射到特定的视图--视图函数获取并处理网页所需的数据.视图函 ...

  2. Python 项目实践三(Web应用程序)第一篇

    一 Djangao入门 当今的网站实际上都是富应用程序(rich application),就像成熟的桌面应用程序一样.Python提供了一组开发Web应用程序的卓越工具.在本章中,你将学习如何使用D ...

  3. Python 项目实践三(Web应用程序)第四篇

    接着上节继续学习,本章将建立用户账户 Web应用程序的核心是让任何用户都能够注册账户并能够使用它,不管用户身处何方.在本章中,你将创建一些表单,让用户能够添加主题和条目,以及编辑既有的条目.你还将学习 ...

  4. android 日历开发教程,android 开发教程之日历项目实践(三)

    二.创建样式 日历显示的表格线,使用 Cell 填充图形的边框来实现,为了统一,我们先定义边框线的颜色及线条精细. 另外还要定义一系统填充样式等. 创建 color: color_calendar_b ...

  5. Android项目实践(三)——天气预报APP

    关于Android制作天气预报APP的几点建议 1.功能实现和界面展示 1.查询天气功能:通过输入地区的adcode码(后续有机会做一下通过输入地区)查询天气情况: 2.添加关注功能:对于某个县级行政 ...

  6. 张萍萍 计科高职13-1 201303014010 实践三结对项目

    实践三结对项目   学号: 201303014010   姓名:张萍萍    班级:计科(高职)13-1 一.题目简介: 设计一个名为MyPoint的类,表示一个带x坐标和y坐标的点.该类包括: 两个 ...

  7. Gradle系列(三):项目实践

    Gradle系列(一):Groovy基础 Gradle系列(二):AndroidStudio的Gradle简介 Gradle系列(三):项目实践 前言 就我现在工作项目来看,Gradle有这么几个方面 ...

  8. 嵌入式项目实战——基于QT的视频监控系统设计(三)

    嵌入式项目实战--基于QT的视频监控系统设计(三) 进入到五一假期第三天,继续我们的项目.本来五一假期还是想好好休息一下的,因为最近学习的状态不太好,刷题都没有思路了,但是身边的同学太卷了,不过我还是 ...

  9. QT5/C++项目:基于QT的跨平台网络对战象棋(三)(推荐★★★★)

    QT5/C++项目:基于QT的跨平台网络对战象棋(三)(推荐★★★★) 文章目录 QT5/C++项目:基于QT的跨平台网络对战象棋(三)(推荐★★★★) 本篇副标题: 本篇博客讲了什么or解决了什么问 ...

  10. Spring项目实践(三)--- Spring配置文件详解

    不同于我们讲的pom.xml以及web.xml,这两个文件的名称是固定的,不可更改的,这里的设计采用的是约定优于配置的原则. 而Spring的配置文件的名称是可以更改的,实际上我们在<Sprin ...

最新文章

  1. 显微镜下的大明内容_《显微镜下的大明》epub、mobi、azw3
  2. FireDAC 报系统找不到指定的文件错误,解决之道。
  3. 网站优化助力网站在同行中更加出类拔萃
  4. webpack4+react多页面架构
  5. 回归!这里才是我们的天堂
  6. 23、MySQL如何处理无效数据值
  7. OpenCV 玩九宫格数独(二):knn 数字识别
  8. Android学习笔记——数据库
  9. IDEA常用快捷键【win-mac对比】
  10. 基于Blink构建亲听项目以及全链路debug项目实时响应能力
  11. GO、Rust 这些新一代高并发编程语言为何都极其讨厌共享内存?
  12. plt.show()没有图片
  13. 聊聊springboot2的embeded container的配置改动 1
  14. Flask在Windows环境下的部署
  15. windows上搭建NFS服务器--haneWIN,Linux客户端挂载
  16. fastjson使用
  17. JSP编译指令-page
  18. 购买服务器及宝塔部署环境指南
  19. 黑苹果html5,黑苹果配置必备神器 Clover Configurator v5.10.0.0 官方中文原版
  20. 【Unity】Firebase-Google登录身份验证功能接入流程

热门文章

  1. matlab突然没法启动解决办法?打开时总闪一下才打开matlab图标只在任务栏闪一下就无反应了怎么办?
  2. alink:批式训练和保存模型,流式消费和分类文本
  3. SEO按天扣费系统源码/SEO计费系统/关键词计费扣费系统/关键词排名查询系统
  4. Linux下支付宝安全控件安装程序运行原理
  5. Java支付宝即时到账
  6. CIP宣布推出新的超长期支持Kernel,推动自动化、机器学习和人工智能
  7. 数字孪生技术在光网络中的应用与问题
  8. MATLAB环境下基于迁移学习的滚动轴承故障诊断
  9. [CQOI2009]中位数图
  10. 演示多组int,float,double的数与 2,2.0f,2.0d的除法运算和取模运算,如有兴趣,可自行分析对比结果