我希望我的问题并不总是同一个问题。我有一个 QGraphicsScene。它的项目是一些 QGraphicsPixmaps。我用一个每秒做 SetX +10 的计时器来移动它们。我设置了+10,因为窗口很大100。使用这个解决方案我的动画不流畅。我想我可以通过设置而不是 +10 a +1...+10 来使它们更平滑。但它没有用。
你能建议我一种方法吗?非常感谢。
void GameGui::updateScene()
{
for (int y = 0; y < game->getHeight(); ++y) {
for (int x = 0; x < game->getWidth(); ++x) {
Actor* a = game->get(y, x);
if (sceneItems[a] != 0) {
sceneItems[a]->setX(x*SIZE);
sceneItems[a]->setY(y*SIZE);
}
}
}
}
在我程序的核心部分中,每个演员都是我的游戏角色(在他的功能中,例如移动 ecc)。sceneItems 是一张地图,我在其中将每个演员与他的像素图相关联。x, y 是抽象场景中的位置,x*SIZE 是图形场景中的位置。抽象场景中的位置正在更新,我在图形场景中表示它们。