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) {
このケースはめったにトリガーされません。オブジェクトは常に移動/回転しています。