我正在做一個簡單的突破遊戲,當球碰到頂部邊框時,我有一些問題如何計算角度。當球以180度的角度向上移動時,它以0度的角度向下回彈。但是當球以170度的角度向上移動時,它應該以10度的鏡像角向下回彈。我可以計算出這個像180-170 = 10
度,但如果球以190度的角度向上移動怎麼辦!?然後它應該以350度的角度向下反彈,但我不知道如何計算這個!?彈跳球計算度
有沒有簡單的方法來計算或鏡像球的向上移動角度的值?因爲我不擅長數學,所以請幫助一些幫助!謝謝!
編輯: 我轉移球是這樣的:
xPos += speed * Math.sin(Math.toRadians(direction));
yPos += speed * Math.cos(Math.toRadians(direction));
只是否定x和y的值,當他們到達牆壁..不需要計算度數檢查這可能是有益的http://learnersdirectory.blogspot.in/2012/11/android-brick-game- tutorial.html – Pragnani
這是否真的有效!?我讀了代碼,但是我找不到發生什麼否定事件!?你能用一個例子來回答我的問題嗎? –
if(x> gameview.getWidth() - width-speedx || x + speedx <0) { speedx = -speedx; } if(y> gameview.getHeight() - height-speedy || y + speedy <0) { speedy = -speedy; } – Pragnani