路径修改

时间:2012-07-04 07:44:31

标签: android andengine

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

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

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

1 个答案:

答案 0 :(得分: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()并且它的工作原理! 在我的游戏中有一个角色,它随机地走向随机位置,而不是休息并转到另一个角落......