我正在尝试构建一个有点像命运之轮的游戏,实际上它已经完成了,但似乎有一个我无法弄清楚的奇怪问题。
这是轮子本身,您可以看到这些值是均匀分布的,每个值都有一个 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 次有效,我实际上可以获得车轮停止的正确值,但我无法真正理解为什么有时该值关闭(有时真的关闭,甚至不接近正确值) .