0

主人公が「ロープ」を撃ってレベルをスイングするSpriteKitでゲームを作ろうとしています(スパイダーマンっぽいと思います)。ロープを作って、それをプレイヤーやさまざまなスプライトに取り付けるのは問題ありませんが、「射撃」の部分についてはどうすればいいのか本当にわかりません。

私の現在のロープは、これ ( https://www.youtube.com/watch?v=7jWdcbmnmKQ&hd=1 )と同様に構築されており、いくつかの別個のパーツが を使用して接続されていSKPhysicsJointPinます。と の両方を使用して、ロープを撃つためにいくつかの異なるアプローチを試しましたが、スムーズに機能するものはapplyImpulse/ForceありSKActionsません。

要約すると:
- 特定の方向に伸びることができるロープを作成するためのベスト プラクティスは何ですか?

これはすべて学ぶことであり、完成したコードが本当に必要だとは思わないので、正しい方向への一般的なポインターだけで問題ありません。

4

2 に答える 2

1

一般的なポインタ:

  • 「飛ぶ」ために必要な方法で物理体を撃ちます (弾丸)
  • didSimulatePhysics で、弾丸の位置をロープの最初のノードに割り当てます。

理論的には、これは弾丸の軌道に影響を与えることなく、射撃中にロープを伸ばすはずです。

弾丸と武器/プレイヤーの間の距離が長くなるにつれて、ロープ セグメントを追加する必要がある場合があります。そうしないと、弾丸の飛行経路の開始時にロープがきつく集まりすぎて、物理が予期しない動作を引き起こす可能性があります。ただし、飛行中にロープ セグメントを追加すると、それ自体が問題を引き起こす可能性があります。

解決策の 1 つは、特定の距離に到達するか、弾丸が何かに「当たる」まで、ロープの物理を無効にすることです。それまでは、ロープは直線と見なされ、ロープ セグメント ノードは弾丸と武器の間の直線に沿って配置されていました。

于 2014-08-26T10:25:07.310 に答える