Я занимаюсь разработкой игры и реализовал алгоритм поиска пути.Мой поиск пути возвращает мне массив узлов, через которые персонаж должен пройти, чтобы добраться до места назначения.По сути, мне нужно анимировать узел за узлом, поэтому я использую TimelineLite и добавляю всю анимацию в последовательность.Оно работает.
ОДНАКО,
Существуют задержки при переходе между узлами (персонаж перемещается, затем останавливается, затем снова перемещается ...), и я не мог понять причину.Как я могу решить эту проблему?
Вот код:
public function walk(startNode:Node,destinationNode:Node):void{
//retrieve the path of the character
var path:Array = Pathfinder.findPath(startNode,destinationNode,GenericMap.findConnectedNodes);
currentPath=path;
if(path!=null){
var pastX:Number;
var pastY:Number;
for(var index:int=0;index<path.length;index++)
{
var currentNode:Node = path[index] as Node;
testMoveThroughNodes(currentNode.x,currentNode.y);
}
}
}
private var speed:Number = 0.7;
private var timeline:TimelineLite = new TimelineLite();
/** tween the sprite through nodes of path*/
private function testMoveThroughNodes(targetX:Number,targetY:Number):void{
timeline.append(new TweenLite(monster,speed,{x:targetX,y:targetY}));
}
Я могу переключаться между последовательностями узлов TweenLite, однако они движутся, останавливаются и движутся, выглядят совершенно неестественно.