【发布时间】:2012-11-20 08:42:43
【问题描述】:
我正在制作一个简单的 Android 平板电脑游戏,却被一个看似简单的数学问题困住了。
我有一个触摸板,可以生成您的手指从中心触摸的角度。这是基于 0 度在 3 点钟并且工作正常。
当我的手指处于 45 度角时,我想以该角度从给定点发射一个物体,因为我知道该物体可以在 150 像素范围内移动。我的数学儿子告诉我这个公式,但我相信它的坐标是基于 0,0 是左下角,而 0,0 是左上角。
他的数学是这样的:
xDirection = range(hypotenuse) * Math.cos(angle);
yDirection = range(hypotenuse) * Math.sin(angle);
然而,这个数学会返回一些非常不正常的结果。如果我处于完美的 0 度,那么数学是正确的,它告诉我 xDirection 是 100,这是我的范围,yDirection 是 0。如果我处于 90 度,它给我的 xDirection 为 -44,yDirection 为 89。
我的 xDirection 和 yDirection 表示我的子弹需要在 x 和 y 轴上移动多少像素才能在我的触摸板所在的角度完成其范围。
这对其他人来说可能是简单的数学运算,但我迷路了!任何帮助都会很棒!
【问题讨论】:
-
角度应该是弧度,而不是度数。
标签: java android math game-physics