资源简介
基于Qt5的图形视图框架的俄罗斯方块的实现,可以参照博客:http://blog.csdn.net/sxpsxp12/article/details/50607224
代码片段和文件信息
#include “onepiece.h“
#include
#include “enumHeader.h“
/****
* 为了避免同一个方块组内小方块发生碰撞,
* 小方块的大小实际为19.5*19.5,但是小方块加上笔刷的宽度后为20*20
* 这样看起来是四个小方块连在一起的
* **/
onePiece::onePiece(const QColor &brushColor)
:m_brushColor(brushColor)
{
}
QRectF onePiece::boundingRect() const
{
qreal penWidth = PEN_WIDTH;
return QRectF(-(PIECE_DIAMETER - penWidth)/2 -(PIECE_DIAMETER - penWidth)/2
PIECE_DIAMETER - penWidth PIECE_DIAMETER - penWidth);
}
void onePiece::paint(QPainter *painter const QstyleOptionGraphicsItem *option QWidget *widget)
{
//背景贴图
painter->drawPixmap(-PIECE_DIAMETER/2-PIECE_DIAMETER/2PIECE_DIAMETERPIECE_DIAMETERQPixmap(“:/piece/Image/piece/box.png“));
painter->setBrush(m_brushColor);
//将方块的边界的颜色进行透明化
QColor penColor = m_brushColor;
// 将颜色的透明度减小
penColor.setAlpha(200);
painter->setPen(penColor);
//使用当前的笔刷和笔画矩形框
painter->drawRect(-PIECE_DIAMETER/2 -PIECE_DIAMETER/2 PIECE_DIAMETER PIECE_DIAMETER);
}
QPainterPath onePiece::shape() const
{
QPainterPath path;
//去除笔刷的宽度,这样同一个方块组的方块就不会被检测出碰撞的情况
path.addRect(-(PIECE_DIAMETER-PEN_WIDTH)/2-(PIECE_DIAMETER-PEN_WIDTH)/2PIECE_DIAMETER-PEN_WIDTHPIECE_DIAMETER-PEN_WIDTH);
return path;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-01-29 11:41 Tetrixs\
目录 0 2016-01-29 11:03 Tetrixs\Qrc\
目录 0 2016-01-28 18:58 Tetrixs\Qrc\Image\
目录 0 2016-01-28 11:31 Tetrixs\Qrc\Image\background\
文件 912897 2011-07-17 16:29 Tetrixs\Qrc\Image\background\background.png
文件 709509 2011-07-17 13:39 Tetrixs\Qrc\Image\background\background01.png
文件 645354 2011-07-17 13:51 Tetrixs\Qrc\Image\background\background02.png
文件 912897 2011-07-17 16:29 Tetrixs\Qrc\Image\background\background03.png
文件 709509 2011-07-17 13:39 Tetrixs\Qrc\Image\background\background04.png
文件 645354 2011-07-17 13:51 Tetrixs\Qrc\Image\background\background05.png
目录 0 2016-01-28 19:09 Tetrixs\Qrc\Image\icon\
文件 9662 2016-01-28 19:09 Tetrixs\Qrc\Image\icon\Tetrixs.ico
文件 30 2016-01-28 19:10 Tetrixs\Qrc\Image\icon\Tetrixs.rc
文件 1116 2011-07-17 11:13 Tetrixs\Qrc\Image\icon\icon.png
目录 0 2016-01-29 10:21 Tetrixs\Qrc\Image\piece\
文件 975 2016-01-29 10:20 Tetrixs\Qrc\Image\piece\box.png
文件 682 2016-01-29 11:03 Tetrixs\Qrc\Qrc.qrc
目录 0 2016-01-29 11:02 Tetrixs\Qrc\voice\
文件 29217 2011-07-17 16:02 Tetrixs\Qrc\voice\clearRow.mp3
目录 0 2016-01-28 18:53 Tetrixs\Src\
目录 0 2016-01-29 10:22 Tetrixs\Src\Piece\
文件 1554 2016-01-29 10:22 Tetrixs\Src\Piece\onepiece.cpp
文件 720 2016-01-27 14:22 Tetrixs\Src\Piece\onepiece.h
文件 144 2016-01-28 18:56 Tetrixs\Src\Piece\piece.pri
文件 6450 2016-01-29 09:52 Tetrixs\Src\Piece\piecebox.cpp
文件 1298 2016-01-28 15:57 Tetrixs\Src\Piece\piecebox.h
目录 0 2016-01-29 11:25 Tetrixs\Src\ProEntry\
文件 152 2016-01-28 18:56 Tetrixs\Src\ProEntry\ProEntry.pri
文件 674 2016-01-28 16:37 Tetrixs\Src\ProEntry\enumHeader.h
文件 280 2016-01-28 18:47 Tetrixs\Src\ProEntry\main.cpp
文件 11677 2016-01-29 11:25 Tetrixs\Src\ProEntry\panel.cpp
............此处省略5个文件信息
- 上一篇:CA系统总体设计方案
- 下一篇:室内环境监测系统的设计windows5.3版本
相关资源
- Qt中将QTableView中的数据导出为Excel文件
- qt5音乐播放器自定义解码
- qt5音乐播放器,实现歌词同步,本地
- Qt5类继承关系图(增加了书签放大效
- SDL俄罗斯方块
- QT5获取USB设备信息+PID+VID+序列号+热插
- QT5.12所需ssleay32.dll,libeay32.dll 1.0.2q
- QT5编译QFtp的具体方法和所用到的资源
- APP INVENTOR 俄罗斯方块
- QT版聊天软件
- 基于MSP430F5529的掌上游戏机
- pyqt5_tools-5.9.0.1.2-cp35-none-win_amd64.whl
- qt5.91-qwt-6.1.3
- Qt开发及其含源码
- QT5 开发及第三版随书源码
- Trojan-Qt5-macOS。dmg
- Computer Vision with OpenCV3 and Qt5完整版
- Computer Vision with OpenCV 3 and Qt5
- labelImg_qt5py3_mac_latest 2.zip
- OpenCV 3和Qt5计算机视觉应用开发英文版
- QT5开发及各种
- GSL库(64bit)在QT5.50中使用+VS2013编译
- 基于arm芯片的俄罗斯方块游戏
- 用PyQT5多线程爬取轻小说工具
- PyQt5开发与实战源代码
- 交叉编译QT5.6
- VS2017+QT5.9.1使用大漠插件(COM组件)
- 支持Qt编译的mupdf动态库
- Unity3D Tetris 俄罗斯方块
- QT5.4版本Windows安装包
评论
共有 条评论