代码之家  ›  专栏  ›  技术社区  ›  StuStirling

将对象移动到点

  •  0
  • StuStirling  · 技术社区  · 14 年前


    我希望还有一个相对简单的问题。
    我有一个人对象,我移动到一个由用户触摸屏幕上的点指定的点。
    我想有一个设定的速度,物体移动到位置。
    然而,我不知道该怎么做,因为每次我计算它时,它要么有不同的速度,要么x原点在y原点之前到达那里,反之亦然。
    我希望能够以相同的速度移动它们,并让它们同时到达该点。
    我希望我已经解释清楚了,如果没有,请提问。
    提前谢谢
    迪斯科舞厅

    2 回复  |  直到 14 年前
        1
  •  0
  •   Greg    14 年前

    在更新函数中,计算从点A到点B的x和y距离,每个帧的差增量相同。 分数 而不是一个常量。

    player.X += difference / frameCount .

        2
  •  0
  •   Elise van Looij    14 年前

    速度就是距离乘以时间,你需要的是一个nstimer实例。使用timerWithTimeInterval:invocation:repeats:并让它调用moveObject方法。moveObject方法每次调用对象时都将其移动一定距离,直到对象的对象位置等于目标位置。然后moveObject方法使计时器和Bob的叔叔失效。

    ---更新----