0

Chipmunk Space Managerを使用しています。1 つのボールと多数のセグメント (私の場合は 512) を一緒に結合して円を作成するようにスペースをセットアップしました。

私の目的は、ユーザーがデバイスを動かすと、ボールがその円の中で動くようにすることです。ユーザーがデバイスを速く動かすほど、ボールは円を描くように速く動きます。ボールもすべての物理法則に従わなければなりません。

CMMotionManager から重力と userAcceleration コンポーネントを取得していますが、それを理解することはできません。

手動で力を加えてみましたが、それは現実的に機能しますが、ユーザーがデバイスをどれだけ動かしたかによっては、円内でボールを動かすことができません。小さなボールをグラスに入れてグラスを振ると、ボールはグラスの円形の底を移動し、グラスを動かす/傾ける外力がなくなると、グラスの傾きの方向に静止します。

4

1 に答える 1

0

最も簡単な方法は、加速度計に合わせて空間の重力を変更することだと思います。滑らかな円運動を得るには、最小距離を 0 に設定し、回転させたい円の半径を最大距離に設定して cpSlideJoint を使用するのがおそらく最適です。そうしないと、滑らかな中空形状を作成することはできません。多くの線分から構築する必要があり、うまく機能しない可能性があります。

于 2011-08-31T01:59:10.267 に答える