flex - timelinemax - tweenmax examples
Secuencia TweenLite sin demora entre interpolaciĆ³n individual (2)
Continuamente actualiza su posición cuando creas una nueva ruta para que las actualizaciones de character.x y y comiencen de inmediato, ¿es este tu problema o es la animación misma si es así crear un modificador ex ()?
var switching = 0;
if(switching >0){
character.animationWalk.play();
}
if(switching <0){
character.animationWalk.stop();
}
Debajo hay un archivo que hice para divertirme, pero tiene buen tiempo y el control de la animación está en as2, pero el concepto es el mismo. Se adjuntan los archivos fuente.
http://ffiles.com/flash/games/sonic_hd_basic_sounds_animation_and_vector_3436.html
BJM Sydney
Estoy desarrollando un juego e implementado el algoritmo de identificación de ruta. Mi ruta me devuelve una matriz de nodos por los que el personaje debe moverse para llegar al destino. Básicamente, necesito interpolar un nodo por nodo, así que uso TimelineLite y agrego todas las interpolaciones a la secuencia. Funciona.
SIN EMBARGO,
Hay retrasos cuando se intercala entre nodos (el personaje se mueve, luego se detiene, luego se mueve de nuevo ...) lo cual no pude entender por qué. ¿Cómo puedo resolverlo?
Aquí está el código:
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}));
}
Puedo interpolar a través de cada nodo secuenciando TweenLite, sin embargo se mueve y se detiene y se mueve, se ve totalmente antinatural.
Sí, difícil de decir sin ver ningún código, pero me pregunto si es solo un problema de relajación que hace que parezca que las cosas se detienen brevemente, aunque no lo son. Recuerde, la facilidad predeterminada es Quad.easeOut, por lo que el movimiento se ralentiza hacia el final de cada interpolación (para una "sensación" más natural). Puedes usar Linear.easeNone si quieres movimiento lineal.