8

2 つ (またはそれ以上) の SKPhysicsBody を 1 つの SKNode に追加することは可能ですか? これに似たもの: PhysicsEditor の例 キャラクターの頭はボールと衝突する必要があるため、上部は丸くする必要があります。さらに、ボールはプレーヤーを通過してはなりません。これを達成する方法はありますか?

4

3 に答える 3

6

physicsBodyプロパティがSKNode示唆するように、ノードと物理体の間には 1 対 1 の関係があります。

ただし、これは、表示されるすべてのスプライトに対して 1 つの基本的な形状を持たなければならないという意味ではありません。あなたが探しているものを達成するために取ることができるいくつかのアプローチがあります:

  • トップを丸くする必要はありますか?モンキーアートのほとんどを長方形で覆うことができます。(ただし、衝突がさまざまな方向に跳ね返るように、丸みを帯びたトップが必要だと思います。)
  • ポリゴンを使用した後の「角丸長方形」形状を作成します。アプリに適合する曲線を近似するために、いくつかの辺を選択する必要があります。多すぎると物理シミュレーションが遅くなり、少なすぎると他の物体が跳ね返ったときに円のように動作しません。
  • すべてのボディにはノードが必要ですが、すべてのノードに可視スプライトが必要なわけではありません。2 つのノードからサルを作成できます。1 つはアートを保持し、四角形または円形の物理ボディが取り付けられており、もう 1 つのノードには固定ジョイントを介して取り付けられていますが、アートはありません。
于 2013-09-24T23:15:18.607 に答える
0

いいえ、は の 1 つのプロパティであるため、everySKNodeは 1 つしか持つことができません。ricksterが言ったように、最初のオプションは、 のクラス メソッドを使用して、サルを 1 つのサイロ状の物理体にすることです。SKPhysicsBodyphysicsBodySKNodebodyWithEdgeLoopFromRect:SKPhysicsBody

もう 1 つのオプションは、2 つを別々に作成SKNodesし、SKPhysicsJointFixed. ricksterの答えは素晴らしいですが、少しグーグルをしたい場合に備えて、クラス名を付けたかっただけです。

于 2013-09-25T05:32:17.543 に答える