Wheel of Fortune のようなゲームを構築しようとしていますが、実際には完了していますが、理解できない奇妙な問題があるようです。
これはホイール自体です。値が均等に配置され、それぞれが 15 ° のスライスを持っていることがわかります。
ホイールを回転させるために、度単位の回転量となる乱数を生成し、ホイールをアニメーション化し、すべて問題ありませんが、回転が停止すると、上部中央の位置で停止するホイールから値を取得する必要があるため、私はこれで解決しますが:
wheelValues = [
1000, 3250, 1800, 1000, 1200, 3750, 5000, 1000, 3000, 1600, 1000, 3500,
1000, 2000, 1000, 2750, 1000, 4000, -1, 1000, 2500, 1400, 1000, 2250
];
if (toAngle > 360)
{
toAngle = toAngle - (Math.floor(toAngle / 360) * 360);
}
arrIndex = Math.floor(toAngle / 15) + 1;
result = wheelValues[arrIndex];
私が生成するランダムなスピンはどこにtoAngle
あり、370 から 1440 の間である可能性があります。
この方法は 10 回のうち約 8/9 回で機能し、ホイールが停止する正確な値を実際に取得できますが、値がずれている場合がある理由がよくわかりません (正しい値に近くなくても実際にずれている場合もあります)。 .