使用 SpriteKit 沿圆弧旋转 SKSpriteNode
Rotate SKSpriteNode along arc using SpriteKit
我正在尝试找出一种在飞行中(受重力影响)沿弧形路径旋转 SKSpriteNode 对象的方法。我正在使用 SpriteKit 并使用 applyImpulse 抛出对象。问题在于,尽管物体在空中以弧形路径运动,但仍停留在同一位置。
想象一下弓箭手射箭。箭头向上射,应该指向那个方向。一旦箭头开始沿着弧线落下,它应该开始向下旋转。
有没有什么方法可以使用 SpriteKit 物理来自动执行此操作?我应该用不同的方式投掷箭头而不是使用 applyImpulse 吗?我需要自己想出一些算法来根据物体速度进行旋转吗?
在您的 didSimulatePhysics
或 update
中,您可以将精灵旋转到其矢量方向。不确定是否有办法自动实现这一点。
let angle = atan2(mySprite.physicsBody!.velocity.dy, mySprite.physicsBody!.velocity.dx)
mySprite.zRotation = angle
我正在尝试找出一种在飞行中(受重力影响)沿弧形路径旋转 SKSpriteNode 对象的方法。我正在使用 SpriteKit 并使用 applyImpulse 抛出对象。问题在于,尽管物体在空中以弧形路径运动,但仍停留在同一位置。
想象一下弓箭手射箭。箭头向上射,应该指向那个方向。一旦箭头开始沿着弧线落下,它应该开始向下旋转。
有没有什么方法可以使用 SpriteKit 物理来自动执行此操作?我应该用不同的方式投掷箭头而不是使用 applyImpulse 吗?我需要自己想出一些算法来根据物体速度进行旋转吗?
在您的 didSimulatePhysics
或 update
中,您可以将精灵旋转到其矢量方向。不确定是否有办法自动实现这一点。
let angle = atan2(mySprite.physicsBody!.velocity.dy, mySprite.physicsBody!.velocity.dx)
mySprite.zRotation = angle