QT翻金币游戏

声明:**QT翻金币游戏代码并非本人所写,主要通过学习腾讯课堂视频之后所写。代码中间略有不同。**由于需要完成的设置较多,我就拿出几点我在看视频学习时感觉难点来说

**游戏介绍:**本游戏一共有二十关,你可以从第一关开始接着来,当你完成第一关之后会自动跳到下一关,你还可以直接选择自己想要闯的关卡。进入关卡之后会有一个4*4的网格,里面分布着金币和银币,点击银币它本身和附近的币就会翻面,当网格中只剩金币时,闯关成功。

我在这里提供一下程序所需图片资源与背景音乐资源:https://pan.baidu.com/s/1PvFhuXoqlwYgx-s2bxLjCw
提取码:47a5
视频教程没有这个,你自己没法做。把图片和音乐导入进去,就能按照视频的操作一步步来。

下面我给一下自己的源码,我建议还是自己按照视频理解每个函数的作用敲一遍
源码只是一个参考。
源码https://pan.baidu.com/s/13sxWoHc5Ek65oa90mKUjTQ
提取码:l8ft
这个游戏里面我完成了一下设置和功能
对于界面一: 设置背景图片,开始按钮创建,创建开始按钮, 开始按钮跳跃特效实现
对于界面二:选择关卡场景配置 新建关卡, 选择关卡配置,实现返回按钮按下效果,实现返回效果,创建选择关卡的按钮,
对于界面三:游戏场景设置 创建游戏场景,设置场景背景, 创建返回按钮 显示关卡号,金币类封装,引用关卡数据,使用金币数据

未解问题:本来我是想换一下背景音乐,但是我发现并不支持MP4格式,我又到“格式工厂”变成wavk格式,但是变换之后太大了,放不进去。有大神会的可以私聊!!!

程序用到很多函数实现了三个界面,我一个个大致说一下每个界面其中一个相对有质量的操作。第一个
在这里插入图片描述
第一个画面我是用UI来做的,删除状态栏、工具栏,只用添加一个菜单,然后添加一个退出按钮,名字可以随便取非汉字,在text处修改显示
在这里插入图片描述在这个页面中主要是开始按钮的跳跃实现以及音效的实现,同时在点击开始按钮之后要转入到下一个选关界面。关键在于对函数zoom的理解,脑子里面要有按钮运动的轨迹和想法。
开始按钮跳跃实现

     //mainscene.cpp
 connect(startBtn,&MyPushButton::clicked,[=](){
    //qDebug() << "点击了开始";
    //做弹起特效
    startBtn->zoom1(); //向下跳跃
    startBtn->zoom2(); //向上跳跃

     });



 void MyPushButton::zoom1()
{
//创建动态对象
QPropertyAnimation * animation = new QPropertyAnimation(this,"geometry");
//设置动画时间间隔
animation->setDuration(200);

//起始位置
animation->setStartValue(QRect(this->x(),this->y(),this->width(),this->height()));
//结束位置
animation->setEndValue(QRect(this->x(),this->y()+10,this->width(),this->height()));

//设置弹跳曲线
animation->setEasingCurve(QEasingCurve::OutBounce);

//执行动画
animation->start();
 }

void MyPushButton::zoom2()
{
//创建动态对象
QPropertyAnimation * animation = new QPropertyAnimation(this,"geometry");
//设置动画时间间隔
animation->setDuration(200);

//起始位置
animation->setStartValue(QRect(this->x(),this->y()+10,this->width(),this->height()));
//结束位置
animation->setEndValue(QRect(this->x(),this->y(),this->width(),this->height()));

//设置弹跳曲线
animation->setEasingCurve(QEasingCurve::OutBounce);

//执行动画
animation->start();

}

选择关卡场景配置
新建关卡类

添加新的C++ class文件,类名为ChooseLevelScene 选择基类为QMainWindow

//mainscene.h
#ifndef MAINSCENE_H
 #define MAINSCENE_H

#include <QMa
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值