値に関しては、インパルスと力の値が何であるかという集合ルールは実際にはありません。それはあなたのスプライトの物理的なボディがどれほど大きいかによって決まります.80のインパルスは1スプライトサイズの完全なジャンプ値ですが、それを半分のサイズにして80を突然高くするよりも良いでしょう。重力、質量などの要因もこれに影響を与えることがあります。 通常は、目的の結果が得られるまで値を再生します。
パドルとの衝突に関しては、ビットマスク値とダイナミックプロパティを確認する必要があります。デフォルトでSpriteKitはすべてのオブジェクトに衝突を設定します。したがって、パドル/ボールが互いに無視するように具体的に指示しないと、衝突することになります。 衝突時にスプライトがどのように振る舞うかに影響を及ぼすことがある反発、摩擦、減衰などのこともあります。 SpritKitの物理/衝突に関するチュートリアルが多数あります。また、Appleのドキュメントもあります。速度およびインパルス/力の差に関しては
、リンゴのドキュメントまず
」ごとに、あなたはその速度と角速度のプロパティを設定することで、直接物理体の速度を制御することができます。多くの他のプロパティと同様に、フィジカルボディが最初に作成されたときにこれらのプロパティを設定し、必要に応じてフィジックスシミュレーションを調整することがよくあります。たとえば、ロケットがミサイルを発射できるスペースベースのゲームを作成しているとします。ミサイルを発射するには、ミサイルの発射速度に発射方向に追加のベクトルを加えなければならない。
Wh身体がシミュレーションにある場合、身体に加えられる力に基づいて速度を調整することがより一般的です。速度変化、衝突、別のソースは、後述する「
https://developer.apple.com/library/content/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Physics/Physics.html
だから基本的には一般的な経験則では、これは次のとおりです。あなたは物理学のボディを作成するときに
1)のみ速度プロパティを設定します。私はまだ私のゲームのためにこれを行う必要はなかった。私は本当に速度プロパティを使用 唯一の時間は、私は一貫性のあるダブルジャンプ
...velocity.dy = 0
...applyImpulse(
2を持つように0に設定する必要があり、このようなダブルジャンプなどのもののためである)あなたはすでにゲームをプレイしているとき
よりあなたが継続的にあなたのボールを移動しようとしている場合
a)は、あなたのSKSceneの更新方法のようなもので
applyForce...
を使用する必要があります。
b)は、あなたのボールのジャンプをしたい場合は、その基本的に短い1時間の事は、あなたが意味するか、これは「長くてランダム小数点値」によって
を助け
希望を使用する必要があります非常に長く、非常に高く、腹腔前のよりもはるかに高いです。もしそうなら、それは衝突後のある時点で合理的な値に落ち着いたのでしょうか?衝突するとオブジェクトの速度に何か起こるようなコードは通常ありません。物理エンジンがそれを行います。 –