2016-03-04 69 views
0

假設我想要一個精靈在某個點附近循環。我可以使用drawOval方法圍繞這個點畫一個圓,但是如何獲得這個橢圓的特定座標,在這個座標上可以繪製移動的精靈。如何獲取繪製圓的座標Java2D

+0

如何設置精靈的位置而不真正繪製圓,這是一個解決方案嗎?你可以改變角度的價值,並根據那個更新位置? –

+0

@FlorisVelleman我不認爲這是可能的任何其他方式,除非你想抓住屏幕,並執行一些邊緣檢測和形狀識別:) – EvilTak

+0

@EvilTak你可以在一個空白的框架上畫圓,並恢復所有的X,Y位置繪製。這也可以有效地得到OP的答案,儘管這似乎是一個非常奇怪的解決方案。 –

回答

1

要獲得的橢圓的周長(或橢圓形),則可以使用下面的式(posXposY是橢圓形和widthheight的中心COORDS分別是橢圓形的寬度和高度的所有點):

x = posX + cos(angle) * width * 0.5 
y = posY + sin(angle) * height * 0.5 

其中角度從0到2 * PI弧度。

您可以在幾秒鐘內類似delta_time * speed其中delta_time是花了渲染的最後一幀的時間(或者更確切地說,自上一幀時間)和speed增加angle是速度(unit/second)爲您想要的雪碧移動。