Iphone 敌人和斜坡

Iphone 敌人和斜坡,iphone,algorithm,Iphone,Algorithm,如何为移动的对象实现特定的坡度?我试图让一个敌人在x点,y点从屏幕上产卵,然后自己飞越屏幕到达一个新的x点,y点,同时添加一个坡度,使其看起来像是向下、直线或向上俯冲。。差不多吧。现在我只知道如何产卵并将我的敌人移动到某个方向,不知道从这里看什么。如果你想在两个点之间的直线上移动,那么你可以计算δX和δY,如下所示: DX = X2-X1; DY = Y2-Y1; 然后,如果要移动特定距离(速度/帧),请使用毕达哥拉斯定理规范化长度: HYP = DX*DX + DY*DY; HYP = sq

如何为移动的对象实现特定的坡度?我试图让一个敌人在x点,y点从屏幕上产卵,然后自己飞越屏幕到达一个新的x点,y点,同时添加一个坡度,使其看起来像是向下、直线或向上俯冲。。差不多吧。现在我只知道如何产卵并将我的敌人移动到某个方向,不知道从这里看什么。

如果你想在两个点之间的直线上移动,那么你可以计算δX和δY,如下所示:

DX = X2-X1;
DY = Y2-Y1;
然后,如果要移动特定距离(速度/帧),请使用毕达哥拉斯定理规范化长度:

HYP = DX*DX + DY*DY;
HYP = sqrt(HYP);
DX = MoveD * DX/HYP;
DY = MoveD * DY/HYP;
然后:

//每次屏幕更新时将距离(移动)从X1,Y1移动到X2,X2。

如果((abs(X2-X)我想给你一个使用某种参数曲线/样条曲线(比如贝塞尔曲线)的答案,但是理论有点复杂。你能发布当前移动敌人的代码吗,也许我们可以找到一种方法来添加这个,这不太难看。更具体一点。(我知道这个评论是虚伪的)你是在问如何让一个物体沿着一条不仅仅是直线的特定路径移动吗?你的意思是“Bresenham的直线算法”,你的意思是“加速向下移动,减速向上移动”
// Move Distance (MoveD) From X1,Y1 to X2,X2 each screen update.
if ((abs(X2-X)<DX)&&(abs(Y2-Y)<DY))
{
  X = X + DX;
  Y = Y + DY;
} else
// STOP