爲了說明我現在有類似使用Java如何繪製一條直線上的精靈路徑?
int startX,endX,currX;
int startY,endY,currY;
public void updatePos(){
if(currX<=endX){
currX+=1;
}
//Same for y
我可以看到,我不想要移動x和y各自時間是相同的,但不知道如何工作了我應該做的多少來確定每個人都應該進行調整。
任何想法
也許這將有助於澄清
想象我開始在這些COORDS (0,0) ,我想,如果我去 (18,10)
增加我的x和y,直到他們到達所需的目標爲止,精靈向上向上移動,然後在屏幕上向右移動,然後靜止在正確的位置。
我想要的行爲是它駛向目的地點單一方向(沿三角形的splope如果你願意)
進出口尋找如何找到我的下一個點的集合建議
您可以在下面使用我的答案,並根據比率(endX - startX):(endY - startY)...即18:10或1.8:1來設置精靈速度。例如,您可以將dx設置爲1.8像素/ ms,dy設置爲1像素/ ms。您應該考慮將位置和速度存儲爲雙精度而不是整數。由於你的精靈以不連續的步驟「跳躍」,所以你需要檢查它是否超出了(18,10)的結束位置,但是你會保證它會穿越這個點(除去任何舍入誤差)。 – Adamski 2010-04-13 10:48:20