【问题标题】:How can I get the trajectory of a SKSpriteNode's physicsBody?如何获得 SKSpriteNode 的物理体的轨迹?
【发布时间】:2016-02-22 19:52:36
【问题描述】:

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

谢谢!

【问题讨论】:

  • 我做了一个回答,但我意识到如果我有更多信息,我可以大大改进它。你以什么方式使用 SpriteKit 物理?你的物体是否有质量,是否有重力影响它,你是在对它施加连续的力还是只是使用脉冲。我假设在你想要计算轨迹的时候,你不会再对物体施加任何脉冲或新的力,对吗?
  • 是的,没错。物理世界中的零重力,除了它的初始冲动之外没有任何作用。
  • 这样的话,我的回答应该足够了
  • 我相信是的。我以前使用过这种方法,但由于某种原因它起作用了。我稍后会尝试并报告。感谢您的帮助!

标签: swift skspritenode skphysicsbody


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-22
    • 1970-01-01
    • 1970-01-01
    • 2014-09-12
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2015-07-18
    相关资源
    最近更新 更多