我所需要的只是根据点击来哄骗玩家的新协调,并让玩家顺利地向它移动。例如,玩家在(20,20)并且你点击(50,80)我将如何让它顺利移动。我尝试了许多不同的东西,主要是基于勾股计算试图通过找到斜边来计算新的坐标,然后找到一个更小的斜边相同的三角形,但必须有一个更简单的方法。
答案 0 :(得分:2)
你可以:
答案 1 :(得分:0)
虽然我使用javascript编程,但您应该能够阅读并理解它
function move(x1,y1,x2,y2,speed){//executed each time frame. Returns coords as array [x,y]
if(!speed)speed=1;
var dis=Math.sqrt(Math.pow(x1-x2)+Math.pow(y1-y2));
return [(x1-x2)/dis*speed,(y1-y2)/dis*speed];
}
每帧的速度是恒定的,但是当它到达目的地时它会停止。它可能会稍微震动,但可以轻松修复。
编辑:我忘了提及。此函数返回速度。不是坐标