【问题标题】:Applied force keeps the node moving施加的力使节点保持移动
【发布时间】:2016-10-22 05:13:40
【问题描述】:

我正在创建一个自上而下的台球游戏。整个视图是表格,然后我有多个球节点。当我对球施加力时,它们会持续移动很长时间,我希望力更快地消失。因为在我很难弄清楚要调整哪个属性之前,我没有过多地研究物理。

我的球上有一个相当高的restitution (0.8),因为我希望它们从边缘反弹。边由该节点定义:

SKPhysicsBody(edgeLoopFrom: CGRect(x: -self.size.width/2.0, y: -self.size.height/2.0, width: self.size.width, height: self.size.height))

我看到SKShapeNode 类上有一个friction 属性。我觉得它可能是正确的使用,但当我打开它时似乎没有帮助。

那么正确的方法是什么 - 如何使施加的力更快地消失?

【问题讨论】:

  • 尝试调整物理体的linearDamping 属性。该值必须介于 0 和 1.0 之间,其中 0 表示无阻尼,1 提供最大阻尼(减慢速度更快)。
  • 谢谢!这正是我所需要的。如果您创建一个答案,我会接受它:)
  • 试着把线性阻尼想象成空气阻力或水阻力,把摩擦想象成你的地面阻力(这会让你有不同的毛毡类型,同时在物理上保持相似的感觉)

标签: ios swift sprite-kit


【解决方案1】:

调整物理体的linearDamping 属性将允许您更改物理体随时间减慢的速率 (linearDamping doc)。该值应介于 0 和 1.0 之间,其中 0 表示无阻尼,1 提供最大阻尼(减慢速度更快)。

【讨论】:

    猜你喜欢
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-30
    • 2023-03-25
    • 2018-09-03
    相关资源
    最近更新 更多