2016-10-21 6 views
2

私はプールのトップダウンゲームを作成しています。ビュー全体がテーブルであり、次にボールノードの数があります。私がボールに力を加えると、彼らは非常に長い時間動いています。そこでは、力がより速く消耗するようにしたいのです。調整しなければならない不動産(y/ies)を把握するのが困難な前に、私は物理学であまり仕事をしていないので、適用された力によってノードが移動し続ける

私はそれらがエッジから跳ねて欲しいので、私はボールにかなり高い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プロパティがあることがわかります。私はそれが正しいものであるかもしれないと感じていますが、それを立てたときには役に立たないようです。

正しいアプローチは何ですか - 適用された力をより速く消耗させるにはどうすればよいですか?

+3

フィジックスボディの 'linearDamping'プロパティを調整してみてください。値は0と1.0の間でなければなりません。ここで0は減衰なし、1は最大減衰(速くなります)です。 – 0x141E

+0

ありがとう!それはまさに私が必要としたものでした。あなたが答えを作成する場合、私はそれを受け入れます:) –

+1

空気抵抗または耐水性、および地面抵抗としての摩擦のようなlinearDampingを考えてみましょう(これは物理学で同様の感触を維持しながら異なるフェルトタイプを持つことを可能にします) – Knight0fDragon

答えて

2

フィジックスボディのlinearDampingプロパティを調整すると、時間の経過とともにボディが遅くなるレート(linearDamping doc)を変更できます。値は0と1.0の間にある必要があります.0は減衰なし、1は最大減衰(速くなります)です。

関連する問題