我正在尝试找出一种在飞行中(受重力影响)沿弧形路径旋转 SKSpriteNode 对象的方法。我正在使用 SpriteKit 并使用 applyImpulse 抛出对象。问题在于,尽管该物体在空中以弧形路径运动,但仍停留在同一位置。
想象一个弓箭手射箭。箭头向上射,应该指向那个方向。一旦箭头开始沿着弧线落下,它应该开始向下旋转。
有没有什么方法可以使用 SpriteKit 物理学来自动执行此操作?我应该用不同的方式 throw 箭头而不是使用 applyImpulse 吗?我是否需要自己想出一些算法来根据物体速度进行旋转?
Best Answer-推荐答案 strong>
在您的 didSimulatePhysics 或您的 update 中,您可以将 Sprite 旋转到它的向量。不确定是否有办法自动实现这一点。
let angle = atan2(mySprite.physicsBody!.velocity.dy, mySprite.physicsBody!.velocity.dx)
mySprite.zRotation = angle
关于ios - 使用 SpriteKit 沿圆弧旋转 SKSpriteNode,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/27788664/
|