Qt QML-如何将动画移动更改为面旋转方向?

Qt QML-如何将动画移动更改为面旋转方向?,qt,animation,rotation,qml,Qt,Animation,Rotation,Qml,我是个初学者,想写一个驾驶游戏。当按下转向按钮时,油箱向前移动并转向。 我能够使坦克朝着它所面对的方向移动。但是,如果移动动画播放时方向发生变化,我不知道如何使坦克移动动态变化,以使移动与朝向的方向保持一致 我目前的解决方案是为运动动画设置一个非常短的距离,以便在每个动画开始时,它能够根据任何旋转更改来更改方向 问题是,通过使用这种方法,我只能使运动动画的长度约为10像素,否则它会产生明显的横向运动。如果只移动10个像素,当我想让汽车快速移动时,这意味着每秒有很多动画。。。在高速行驶时,这会在我

我是个初学者,想写一个驾驶游戏。当按下转向按钮时,油箱向前移动并转向。 我能够使坦克朝着它所面对的方向移动。但是,如果移动动画播放时方向发生变化,我不知道如何使坦克移动动态变化,以使移动与朝向的方向保持一致

我目前的解决方案是为运动动画设置一个非常短的距离,以便在每个动画开始时,它能够根据任何旋转更改来更改方向

问题是,通过使用这种方法,我只能使运动动画的长度约为10像素,否则它会产生明显的横向运动。如果只移动10个像素,当我想让汽车快速移动时,这意味着每秒有很多动画。。。在高速行驶时,这会在我的坦克中产生闪烁效果

我相信一定有更好的方法。。。有人能帮忙吗?我复制了下面的代码示例,以说明我目前是如何做的

我会很感激任何答案,记住我是一个初学者-保持简单,我很愚蠢

多谢各位

RotationAnimation  {
    id: tankTurnRightAnimator
    running: false
    target: tank
    property: "rotation"
    from: tank.rotation
    to: rotation + 360
    loops: Animation.Infinite
    duration: 3600
}
ParallelAnimation{
    id: tankMoveAnimation
    NumberAnimation {
        target: tank
        property: "y"
        to: y + ((tank.direction * pixelTravel) * Math.sin(tank.rotation * (Math.PI / 180)))
        duration: tank.curSpeed
    }
    NumberAnimation {
        target: tank
        property: "x"
        to: x + ((tank.direction * pixelTravel) * Math.cos(tank.rotation * (Math.PI /180)))
        duration: tank.curSpeed
    }

}

这可能是个话题,但是一些为2D物理指定的模块呢,比如or?如果您能制作一个简化的示例,我们可以实际运行,那就太好了。谢谢您的评论。。。我可能很快会尝试一个简单的例子。。。不过,我只是先尝试一下box2d的想法——我意识到无论如何我都可能需要它,因为我没有其他线索知道当我在游戏中走得那么远时,我将如何处理碰撞检测。