1

SKPhysicsJointPin 物理ボディ オブジェクトの zRotation の「回転可能な範囲」を開始点から制限する方法を教えてください。

現在、shouldEnableLimits を使用すると問題が発生し、physicbody オブジェクトが +270 度から -90 度 (正から負など) に回転しているときに予期せず/グリッチを強制的に移動させるため、別の方法を使用してこの制限回転を達成する必要があります。 lowerAngleLimit と upperAngleLimit が提供されます。

画面全体を絶えず移動している物理体があり、次を使用します。

myobject.physicsBody applyTorque:lateralMove" //(+ and -)

この体を左右に回転させます。体が動いているので、体が画面上を移動するときに、設定された量/「範囲」でのみ回転できるようにする必要があります。

どうすればいいのかわかりません。「オブジェクトの中心点がここにあります。中心点から -0.7 (左) または 0.7 (右) を超えて zRotate することはできません」など。

これを行う方法について1週間以上頭を悩ませてきました。どんな助けも素晴らしいでしょう

///////////// テストケースを実行するとどうなるか

if (_myobjectdegrees > 265) { 
    NSLog(@"please don't glitch!");
    myobject.zRotation = -1.5f;

}

//コンソールの出力はこちら

現在の zrotation 2.949927

現在の zrotation 3.002563

現在の zrotation 3.033562

現在の zrotation 3.061646

グリッチしないでください!

現在の zrotation -1.500000

現在の zrotation 0.212812

現在の zrotation 1.947406

現在の zrotation -0.485760

現在の zrotation -2.326967

現在の zrotation -2.381383

// エラーが発生しました。-1.5 を設定した後の数値は、-1.49 に戻り始め、-1.48 は 0 に戻ります。

//myobjectdegrees は myobject.zRotation に基づいてラジアンから度に変換された整数です

私は私が見つける

//if (myobject.zRotation > 4.6) {

このケースはめったにトリガーされません。オブジェクトは常に移動/回転しています。

4

0 に答える 0