如果每次繪製框架時我的X座標都會增加,那麼我可以從數學庫中採用什麼公式來使Y座標圍繞一幀一幀地畫一個圓圈,在連續移動的中心點周圍創造一個軌道物體的幻覺?在Android遊戲中動態計算圓圈的點
我已經看到它可能涉及sin或cos,但我不知道如何根據每幀調整變量。
非常感謝您的幫助
如果每次繪製框架時我的X座標都會增加,那麼我可以從數學庫中採用什麼公式來使Y座標圍繞一幀一幀地畫一個圓圈,在連續移動的中心點周圍創造一個軌道物體的幻覺?在Android遊戲中動態計算圓圈的點
我已經看到它可能涉及sin或cos,但我不知道如何根據每幀調整變量。
非常感謝您的幫助
你不能讓一個完整的圓,如果你的X座標每遞增一次,因爲有一半的X座標的時間必須遞減。
你想要的是極座標:theta角度和r半徑。你的r將保持不變,你的theta會不斷增加。然後,你的X和Y分別是:
x = r * cos(theta)
y = r * sin(theta)
讓ox,oy
是你圓的起源,以及px,py
是該圓的邊緣點,與r
半徑給出:(px-ox)^2 + (py-oy)^2 = r^2
定義圈
解決潘岳:
(py-oy)^2 = r^2 - (px-ox)^2
(py-oy) = sqrt(r^2 - (px-ox)^2)
py = sqrt(r^2 - (px-ox)^2) + oy
< ---
所以,當你增加px
與你的框架,你可以通過重新計算上述公式找到合適的py
。
非常感謝。我認爲爲了保持遊戲儘可能流暢,我會計算每幀的點數,並將它們存儲在一個數組中,該數組只能在每個循環中遞增的索引處讀取。 若要動態計算,我將在調用surfaceChanged方法時重新計算這些值。 非常感謝您的幫助 – ComethTheNerd 2010-08-05 17:11:15
非常感謝您花時間回答我的問題。在遊戲環境中應用數學使整個話題更加有趣,他們應該在教孩子們時使用它! – ComethTheNerd 2010-08-05 17:12:41
現在感謝這個公式,精美的工作。 – ComethTheNerd 2010-08-06 09:01:35