swift - 如何获得 SKSpriteNode 的 physicsBody 的轨迹?

标签 swift skspritenode skphysicsbody

如何获得移动的 SKSpriteNode 的轨迹(我将推导出一个点)?我会使用它的 physicsBody.velocity 值吗?或者我可以使用另一个变量吗?基本上,我试图获得移动节点将通过的几个点。

谢谢!

最佳答案

如果您使用物理来移动它,您应该能够使用物理体的速度值加上它所连接的节点的位置。如果你想得到与速度矢量在同一直线上的点,你需要 x 位置和 y 位置,然后将 t * velocity.dx 添加到 x 位置,并将 t * velocity.dy 到 y 位置,其中 t 只是节点到达该点的任意时间。

可能值得注意的是,这是节点的点速度。如果设置为在直线以外的路径(例如抛物线弧)中移动,这将采用给定点的直线速度,并返回该直线上的点,而不是抛物线弧上的线它会旅行。如果您想要复杂路径上的点由于许多不同或不断变化的力而行进,则需要将这些力建模为一个方程并将您的 t 代入该方程。

关于swift - 如何获得 SKSpriteNode 的 physicsBody 的轨迹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35562583/

相关文章:

ios - 如何使用可选 func textViewDidEndEditing(textView : UITextView) to change text as it's entered?

ios - UILabel 未在 Swift 2 中更新

ios - 如何调用父类(super class)形式子类SpriteKit的方法

ios - 设置 SKSpriteNode.phyisicsBody.categoryBitMask 时出现 EXC_I386_INVOP 错误

ios - SKSpriteNode 不受自定义 physicsBody 的重力影响

swift - 在 ScrollView 中嵌入 3 个 View Controller

ios - SpriteKit : what causes touchesMoved to stop getting called?

arrays - 从数组 spritekit swift 中删除节点

ios - 一种应用 zRotation 以便它相应地影响 SKPhysicsBody 的方法?

ios - 为什么 SKSpriteNode 不响应 applyForce 或 applyImpulse?