Q项目绘制问题
QGraphicsItem drawing problem
我正在开发一个小型塔防游戏,以便学习Qt。我正在使用QGraphicsScene来保存游戏的所有对象。为了使它们移动,我没有使用动画框架,而是调用 advance() 方法和 QTimer。
我想让我的射弹在击中敌人时爆炸。问题是,当我尝试绘制一个椭圆来模拟爆炸时,它没有被正确绘制。
您可以在此视频中看到问题。
我尝试使用 z 索引,但它没有改变任何东西。
这是我用来绘制弹丸的代码:
void Projectile::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
if(!isExploding) {
painter->drawPixmap(boundingRect().toRect(), image);
} else {
if(cnt < 50) {
painter->setBrush(QBrush(explosion));
painter->drawEllipse(-cnt, -cnt, 2.0*cnt, 2.0*cnt);
cnt++;
} else {
this->isFinished = 1;
}
}
}
QRectF Projectile::boundingRect() const
{
// Taille de l'image de l'insecte
return QRectF(0, 0, 6, 6);
}
你有什么线索如何解决这个问题吗?
谢谢。
假设cnt是3。您正在绘制一个椭圆
painter->drawEllipse(-3,-3,6,6)
这将需要一个宽度和高度至少为 9 的边界矩形。
此外,边界矩形也是使用内部项目坐标系指定的。 您正在从 (-3,-3) 绘制到 (6,6),这超出了边界矩形。
相关文章:
- 警告处理为错误这里有什么问题
- 最小硬币更换问题(自上而下方法)
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- 绘制文本问题
- 我正在尝试创建一个 C++ 贪吃蛇游戏,但我似乎无法绘制第二个高度边框,我该如何解决这个问题?
- 在 Qt C++ 中在自定义项委托上绘制文本时的性能问题
- 绘制的 OpenGL 点消失,绘制调用和交换缓冲区问题
- 绘制非常大的 2D 图形时出现问题
- 对于循环重复绘制问题
- 绘制多边形网格时出现 Opengl 性能问题
- TMX问题,在正确位置绘制瓷砖(c++)
- 使用纹理,法线和索引列表从VBO绘制OpenGL对象的问题
- 简单的地图绘制问题
- 使用SpriteFont类绘制文本时出现问题
- 在 SDL 中,当我在屏幕上绘制菜单时,它会使游戏变慢并且无法正常工作,我该如何解决这个问题?
- 为什么我的非所有者绘制的列表框在添加字符串后会出现绘图问题
- opengl =中缓冲区数据的问题仅在我缓冲比需要更多的字节时绘制
- 在OpenGL中绘制线的问题
- Direct3d绘制2d精灵.扩展问题
- Q项目绘制问题