我正在开发一个简单的打砖块游戏,但是在理解如何处理球的速度和方向以使其沿不同的对角线路径移动时遇到了一些问题。我在update方法中使用了以下代码:
xPos += xSpeed * direction;
yPos += ySpeed * direction;
如果我使用不同的值xSpeed = 2
和ySpeed = 1
,我可以改变不同的对角线路径,但我仍然希望保持相同的速度。如果我增加xSpeed = 4
的值以获得另一条对角线路径,则速度也会增加,但我希望球以相同的速度移动。对于direction
的值,我使用1或-1。但我想也许更好的做法是通过改变direction
的值来获得不同度数的对角线路径?在一个打砖块游戏中,球必须反弹并朝相反的方向移动。我不擅长数学,因此我希望得到一些帮助来解决这个问题。有什么想法可以改进我的代码吗?
Math.sin()
中,它是弧度。请参阅文档。 - kamituelsin(PI) = 0
和cos(PI) = -1
,因此xPos
不变而yPos
减少,从而向上移动。如果将角度设置为90度(PI/2),则会得到sin(PI/2) = 1
和cos(PI/2) = 0
,这意味着向右方向。这被称为极坐标系。 - kamituel