如何找到 SKSpriteNode 的速度作为 x 和 y 值?

How can I find an SKSpriteNode's velocity as x and y values?

我正在开发一款平台游戏,并试图找到用户控制角色在 x 和 y 值中的速度。目的是检测玩家是在坠落、跳跃、运行 还是站立。例如,如果玩家离开壁架,我希望能够检测到他的 y 值的变化以确定他是在下落还是在跳跃并显示正确的纹理。 (我意识到我可以根据是否给出跳跃命令来检测跳跃,我可以根据 "didEndContact" 检测他是否离开平台,但如果我可以根据更改玩家状态,我会有更一致的控制在他们前进的方向上。)希望我解释了我正在努力做的事情。如果我需要更好地解释或者是否有更好的方法来完成我正在尝试做的事情,请告诉我。谢谢!

您可以使用节点 SKPhysicsBody 中的 属性 velocity

此向量存储 body 的当前速度。

然后您可以使用 velocity.dxvelocity.dy 访问 xy 值。 (例如在您的 update() 方法中)。