塔防游戏怪物减速如何实现

如题,用tiled map制作的塔防地图,怪物移动是用moveto实现的。当怪物受到减速塔的攻击时,如何实现减速呢?
是停止怪物当前的moveto动作,重新计算当前位置与目的点位置的距离并除以怪物速度得到moveto的时间吗?
这种逻辑感觉不可靠啊。

跪求大神指点!!

这么简单的数学问题。。。
比如以前是1秒移动一格,减速以后你可以2秒移动一格。
如果是按距离移动的,你可以减少移动的速度。
但总体来说就是每秒单位时间移动的距离减少就行了。

兄弟能说的清楚点吗?小弟愚笨,还望见谅。

不要用moveto,你每帧更新怪物的位置吧,给怪物一个方向和速度,当怪物受到减速塔攻击时,将它的速度减少

if(isjiansu)
{
if(elapsetime >= 2.0f) moveto
}
else
{
if(elapsetime >= 1.0f) moveto
}

或者

if(isjiansu)
{
speed = 0.5;
}
else
{
speed = 1;
}

moveto //按照速度计算出来一个距离

不用MoveTo,用update来每一帧更新怪物的位置,