我编写了以下代码,将bullet
旋转为enemy
:
void Bullet::turnToFutureLocation(Enemy *enemy)
{
QLineF ln(mapToScene(rect().topLeft()), enemy->mapToScene(enemy->rect().topLeft()));
setRotation(ln.angle());
}
bullet
和enemy
都从QGraphicsRectItem
派生。运行代码时,我的项目符号不在屏幕上。
当我尝试使用给定参数旋转它时,会发生以下情况:
setRotation(0);
setRotation(10);
不仅仅是旋转,
bullet
围绕场景的原点旋转。我怎样才能使其旋转?
最佳答案
函数setTransformOriginPoint()
更改旋转中心。
默认中心始终为0,0。
来源:http://doc.qt.io/qt-4.8/qgraphicsitem.html#setRotation