0

我想计算精灵在特定时间段内到达上一个目的地时的新点。我怎样才能做到这一点?

例如,我不想先计算路径,而是想在特定持续时间结束后计算它。

PathModifier(bugduration, path, null, new IPathModifierListener() 
{
    public void onWaypointPassed(final PathModifier pPathModifier,final IShape pShape, final int pWaypointIndex) {
        ......
    }
}
4

1 回答 1

0

您可以使用 onPathFinished() {} 并在先前完成后创建新路径。也许这不是一个很好的选择,但它对我有用。


我写了一些代码:

function go() {
   HashMap<float, float> coords = calcNewCoords();
   path = new Path(2).to(currentPosX, currentPosY).to(coords.get("toX"),coords.get("yoY"));
   time = calcTime();
   petSprite.registerEntityModifier(new PathModifier(time, 
            path, null, new IPathModifierListener() {
       @Override
        public void onPathWaypointFinished(PathModifier pPathModifier,
                IEntity pEntity, int pWaypointIndex) {
            // TODO Auto-generated method stub
            rest();
        }
   }));
}


function rest() {
   ....
   go();
}

类似的东西......这不是我真正的代码......但我已经尝试过 onPathWaypointFinished() 并且它有效!!!!我的游戏中有一个角色会随机走到随机位置,然后休息并转到另一点......

于 2012-07-04T09:07:42.343 回答