0
假設我想要一個精靈在某個點附近循環。我可以使用drawOval方法圍繞這個點畫一個圓,但是如何獲得這個橢圓的特定座標,在這個座標上可以繪製移動的精靈。如何獲取繪製圓的座標Java2D
假設我想要一個精靈在某個點附近循環。我可以使用drawOval方法圍繞這個點畫一個圓,但是如何獲得這個橢圓的特定座標,在這個座標上可以繪製移動的精靈。如何獲取繪製圓的座標Java2D
要獲得的橢圓的周長(或橢圓形),則可以使用下面的式(posX
和posY
是橢圓形和width
和height
的中心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
)爲您想要的雪碧移動。
如何設置精靈的位置而不真正繪製圓,這是一個解決方案嗎?你可以改變角度的價值,並根據那個更新位置? –
@FlorisVelleman我不認爲這是可能的任何其他方式,除非你想抓住屏幕,並執行一些邊緣檢測和形狀識別:) – EvilTak
@EvilTak你可以在一個空白的框架上畫圓,並恢復所有的X,Y位置繪製。這也可以有效地得到OP的答案,儘管這似乎是一個非常奇怪的解決方案。 –