项目实践(三)QT-CoinFlip

项目简介:翻金币游戏

目录

(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)效果展示 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HT . WANG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值