我正在做一個簡單的突破遊戲,我有一些問題需要理解我應該如何處理球的速度和方向以將其移動到不同的對角線路徑。我使用這個代碼的更新方法:移動精靈的方向
xPos += xSpeed * direction;
yPos += ySpeed * direction;
如果我使用的xSpeed = 2
和YSpeed = 1
不同vaules我可以換到不同的對角線路徑,但我還是想以相同的速度。如果我增加值xSpeed = 4
以獲得另一條對角線路徑,則速度也會增加,並且我希望球以相同的速度移動。對於direction
的值,我使用1或-1。但我想最好將direction
的值改爲獲得對角線路徑度數?在突破性的比賽中,球必須在oppesite方向上反彈。我數學不好,所以我會提供一些幫助來解決這個問題。任何想法如何改善我的代碼?
是運動弧度或度數的角度? – 2013-03-28 07:40:29
@ 3D-kreativ - 如果Math.sin()是弧度。 [請參閱文檔](http://docs.oracle.com/javase/6/docs/api/java/lang/Math.html#sin(double))。 – kamituel 2013-03-28 07:43:18
我猜這是工作,我使用這段代碼: double angle = Math.toRadians(180); xPos + =速度* Math.sin(angle); yPos + =速度* Math.cos(angle); 我只是有點困惑,180度到了,我以爲90度了!?我是否在sin和cos中使用相同的可變角度? – 2013-03-28 07:56:26