资源简介
基于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局域网聊天系统(基于QT5.修改过)
- 用PB编写俄罗斯方块
- PB做的俄罗斯方块
- 3D版俄罗斯方块
- 全屏的俄罗斯方块源程序
- js canvas写的游戏 俄罗斯方块
- QT5.5入门与项目实战
- 基于FFmpeg4.0.2的AAC编码器
- mp4_play.zip
- 使用Qt编写的视频监控系统支持Qt4-Q
- Qt 多线程连接数据库——数据库
- 基于Qt5.8+OpenCV3.2的Basler多相机触发开
- 串口调试助手 Qt5版源码
- Qt5的多线程小程序,实现按钮开关线
- ios-swift 版 俄罗斯方块.zip
- Ubuntu16.04中配置Qt5.9.1和OpenCV3.4.0过程
- Qt pdf poppler
- 基于Qt5的串口调试助手
- 基于STM32的使用12864做的俄罗斯方块
- 基于OpenGL实现俄罗斯方块
- Qt类关系图
- 俄罗斯方块 SDL 版
- 基于CortexM4的俄罗斯方块游戏代码加文
- 基于STM32的俄罗斯方块
- PyQt5编写的大数据应用-高速公路违章
- QT5.9.0实现的QWidget版富文本编辑器
- Qt5版NeHe OpenGL教程6-10
- QT5下实现基于TCP发送和接接收文件
- PyQt5_gpl-5.11.3.zip
- qtribbon可用
评论
共有 条评论