为了说明我目前有类似

int startX,endX,currX;
int startY,endY,currY;

public void updatePos(){

if(currX<=endX){
   currX+=1;
}
//Same for y


我可以看到我不想每次都移动x和y相同的数量,但是不知道如何确定应该调整的数量。

有任何想法吗

也许这将有助于澄清

想象我从这些坐标开始
(0,0)
我想去
(18,10)

如果我将x和y递增,直到它们达到所需的目标值,则精灵将对角线向上移动,然后越过屏幕向右移动,然后停在正确的位置。

我想要的行为是它朝着目标点(如果您愿意的话,沿着三角形的斜角)向一个方向移动

我正在寻找有关如何找到下一组观点的建议

最佳答案

如果T是从X0,Y0移到X1,Y1所需的时间,则任意给定时间t(0

X = X0 + t*(X1-X0)/T
Y = Y0 + t*(Y1-Y0)/T

08-04 00:47