#include "Widget.h"
#include "ui_widget.h"
#include "gameview.h"
#include "qgun.h"
#include <QDebug>
#include <QTimer>
#include <QLabel>
#include <QToolButton>
#include "Bullet.h"
#include <QPalette>
#include <QPushButton>
#include <QVBoxLayout>
#include <QMessageBox>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
//设置窗口大小,标题,图标
ui->setupUi(this);
this->setFixedSize(800,480);
this->setWindowTitle("捕鱼达人");
this->setWindowIcon(QIcon(":/image/R-d.jpg"));
//设置主窗口背景图片
QPalette palette;
palette.setBrush(QPalette::Background,QBrush(QPixmap(":/image/startbg.fw.png")));
this->setPalette(palette);
//设置标签
auto label = new QLabel();
label->setPixmap(QPixmap(":/image/label.fw.png"));
label->setParent(this);
//设置开始按钮
auto startbtn = new QPushButton(this);
startbtn->setIcon(QIcon(":/img/game_start.png"));
startbtn->setIconSize(QSize(200,60));
//透明背景
startbtn->setFlat(true);
//去掉黑虚框
startbtn->setFocusPolicy(Qt::NoFocus);
//设置结束按钮
auto quitbtn = new QPushButton(this);
quitbtn->setIcon(QIcon(":/img/game_over_btn.png"));
quitbtn->setIconSize(QSize(200,64));
quitbtn->setFlat(true);
quitbtn->setFocusPolicy(Qt::NoFocus);
// 设置垂直布局
auto vbox = new QVBoxLayout(this);
vbox->addWidget(label);
vbox->addWidget(startbtn);
vbox->addWidget(quitbtn);
//居中对齐
vbox->setAlignment(Qt::AlignCenter);
//实现结束按钮
connect(quitbtn,&QPushButton::clicked,this,&Widget::Quitbtnclicked);
//实现开始按钮
connect(startbtn,&QPushButton::clicked,this,&Widget::Startbtnclicked);
// //创建视图
// zGameview.setSceneRect(QRect(0,0,800,480));
// //创建游戏场景
// zGameScene.setSceneRect(QRect(0,0,800,480));
// // //创建开始场景
// // zStartScene.setSceneRect(QRect(0,0,950,535));
// // //添加开始场景背景图片
// // zStartScene.addPixmap(QPixmap(":/image/R-C.jpg"));
// // //定义一个toolButton按钮
// // auto startbtn = new QToolButton();
// // //设置按钮相关属性
// // startbtn->resize(200,100);
// // startbtn->setAutoRaise(true);
// // startbtn->setIcon(QIcon(":/image/start.png"));
// // startbtn->setIconSize(QSize(200,100));
// // //按钮添加到开始场景
// // zStartScene.addWidget(startbtn);
// // //设置按钮位置
// // startbtn->move(400,200);
// //点击信号绑定下一个游戏场景
// // connect(startbtn,&QToolButton::clicked,[this](){
// // zGameview.setScene(&zGameScene);
// // zGameview.show();
// // });
// //背景元素1
// zBackGround1.setPixmap(QPixmap(":/image/R-C.jpg"));
// // zBackGround2.setPixmap(QPixmap(":/image/R-C.jpg"));
// // zBackGround2.setPos(950,0);
// // zBoss.setPixmap(QPixmap("://img/boss/boss_01.png"));
// // zBoss.setPos(100,200);
// //将背景元素加入场景
// zGameScene.addItem(&zBackGround1);
// // zGameScene.addItem(&zBackGround2);
// // zGameScene.addItem(&zBoss);
// //将场景加入视图
// zGameview.setScene(&zGameScene);
// // zGameview.setScene(&zStartScene);
// //视图在窗口
// zGameview.setParent(this);
// //创建定时器
// mBGmovetimer = new QTimer(this);
// mBGmovetimer->start(10);
// connect(mBGmovetimer,&QTimer::timeout,this,&Widget::BGmove);
//创建大炮
// auto cannonbtn = new QToolButton();
// //设置按钮相关属性
// cannonbtn->resize(40,40);
// cannonbtn->setAutoRaise(true);
// cannonbtn->setIcon(QIcon(":/img/gun/gun_02.png"));
// cannonbtn->setIconSize(QSize(40,40));
// //按钮添加到游戏场景
// zGameScene.addWidget(cannonbtn);
// //设置按钮位置
// cannonbtn->move(380,440);
// QPixmap bulletimg(":/img/bullet/blue_bullet.png");
// QPoint pos(100,440);
// Bullet* bullet = new Bullet(pos,bulletimg,1);
// zBullettimer = new QTimer(this);
// zBullettimer->start(10);
// zGameScene.addItem(bullet);
// connect(zBullettimer,&QTimer::timeout,[this](){
// bullet->zBulletMove();
// });
}
Widget::~Widget()
{
delete ui;
}
//游戏场景交替移动
//void Widget::BGmove()
//{
// zBackGround1.moveBy(-10,0);//移动量
// zBackGround2.moveBy(-10,0);
// if(zBackGround1.x() <= -950){
// zBackGround1.setX(zBackGround1.pixmap().width());
// }else if
// (zBackGround2.x() <= -950)
// {
// zBackGround2.setX(zBackGround2.pixmap().width());
// }
// }
void Widget::Quitbtnclicked(){
if(QMessageBox::Yes==QMessageBox::question(this,"提示","确定退出吗?",QMessageBox::No|QMessageBox::Yes))
close();
}
void Widget::Startbtnclicked(){
this->hide();
gameview* view = new gameview();
view->show();
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载体验!下载完使用问题请私信沟通。 2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业员工。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时沟通。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈! 【资源说明】 基于QT和C++实现的捕鱼达人小游戏源码.zip基于QT和C++实现的捕鱼达人小游戏源码.zip基于QT和C++实现的捕鱼达人小游戏源码.zip基于QT和C++实现的捕鱼达人小游戏源码.zip基于QT和C++实现的捕鱼达人小游戏源码.zip基于QT和C++实现的捕鱼达人小游戏源码.zip基于QT和C++实现的捕鱼达人小游戏源码.zip基于QT和C++实现的捕鱼达人小游戏源码.zip基于QT和C++实现的捕鱼达人小游戏源码.zip基于QT和C++实现的捕鱼达人小游戏源码.zip基于QT和C++实现的捕鱼达人小游戏源码.zip基于QT和C++实现的捕鱼达人小游戏源码.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于QT和C++实现的捕鱼达人小游戏源码.zip (29个子文件)
widget.ui 441B
qnet.cpp 540B
boss.qrc 1KB
readme_img.qrc 44B
octopus_fish.qrc 925B
gameview.cpp 3KB
fish_net.qrc 156B
Widget.cpp 5KB
gameview.h 1KB
qfish.h 346B
qnet.h 233B
Widget.h 660B
qpixmapitem.h 419B
qpixmapitem.cpp 532B
Bullet.h 479B
Fishing_joy.pro 2KB
main.cpp 177B
shark.qrc 601B
qshark.h 325B
qgun.h 287B
Bullet.cpp 1001B
gold_fish.qrc 856B
gun.qrc 225B
qfish.cpp 849B
manta_ray.qrc 1KB
qshark.cpp 804B
bullet.qrc 161B
src.qrc 1KB
qgun.cpp 143B
共 29 条
- 1
资源评论
北航程序员小C
- 粉丝: 2222
- 资源: 1823
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功