• 大小: 4.4MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-16
  • 语言: 其他
  • 标签: Qt5  

资源简介

基于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个文件信息

评论

共有 条评论