0

最初はそれほど難しいようには見えませんでしたが、私はこの問題にしばらく苦労しています。

基本的に、JavaScriptによって動的に回転している三角形が画面上にあります。アニメーションの各フレームで、三角形は「右方向」に 1 度回転しようとするため、矢印キーで移動できる画面上の別の div を先端が指しています。この三角形には、次の css プロパティがあります

#triangle {
    position: absolute;
    left: x;
    top: y;
    -webkit-transform: rotate(degrees)
}

ポイントを常に最短回転にする方法がわからないことを除いて、三角形のポイントをdivにかなりうまく従わせることができます。正しい方向に 5 度ではなく、「間違った」方向に 355 度回転することがあります。

私はちょっと立ち往生しています。誰かがこれについて私を助けてくれますか?

ありがとう!

4

1 に答える 1

1

私はこのようなことを試してみます:

function optimal_angle(degrees) {
  degrees = degrees % 360;

  if (degrees > 180) {
    return degrees - 360;
  } else {
    return degrees;
  }
}

そしていくつかのテスト:

> optimal_angle(355);
-5
> optimal_angle(-5);
-5
> optimal_angle(124373984);
104

考えてみれば、どの方向にも曲がれるのは最大で 180 度です。したがって、角度を「最適化」するには、重複する回転 ( degrees % 360) を削除し、角度が 180 度を超える場合は逆にします。

于 2012-08-05T23:57:52.887 に答える