正確に何が必要かについて、もう少し情報を提供する方が良いでしょう。あなたの説明に従って、次の解決策を提案できます。
1) >> ジョイントを取り付ける 2 番目のボディがないため、プリズム ジョイントも作成できません。
フィクスチャなしでどこかに静的なボディを作成し、それに取り付けることができます。このボディはシーンのどこにでも配置できることに注意してください (たとえば、位置 (0,0))。
2) b2BodyDef::gravityScale をゼロに設定し、好きなように動かします (力、衝動、b2MouseJoint、SetTrasform)。
3) b2MouseJoint を使用して、任意の方法で体を動かします。ジョイントは、シーン上の任意の静的ボディにも取り付けることができます。回転を防ぐために、ボディの fixedRotation を設定すると便利な場合があります。
4) >> キネマティック ボディを使用して衝突検出を行う必要があり、box2d はキネマティック ボディの衝突検出をサポートしていないため、キネマティック ボディにすることはできません。
確かに、Box2d はキネマティック ボディの衝突検出をサポートしていますが、キネマティック ボディはダイナミック ボディとしか衝突しません。キネマティック ボディとスタティック ボディまたは別のキネマティック ボディとの衝突をキャッチする必要がある場合は、b2WeldJoint を介してこのキネマティック ボディに何らかのダイナミック ボディをアタッチし、このダイナミック ボディの接触を聞くことができます。