Cómo hacer un bucle en la animación de borde para que parezca una marcha de hormigas en cytoscape.js.
¿Cómo hago para que el borde anime como en marching ant y lo señale hacia el nodo objetivo?
Intenté usar la propiedad line-dash-offset
así, pero no hace un bucle.
Estilo:
{
selector: "edge",
style: {
"curve-style": "taxi",
width: 2,
"target-arrow-shape": "triangle",
"target-arrow-color": "#9dbaea",
"line-style": "dashed",
"line-dash-pattern": [8, 4],
}
}
Animación:
let loopAnimation = eles => {
eles.animation(
{
style: {
"line-dash-offset": 24,
"line-dash-pattern": [8, 4],
}
},
{
duration: 1000
}
).play().promise('complete').then(() => loopAnimation(eles))
};
cy.edges().forEach(loopAnimation);
davy.ai
Para hacer que el borde se anime como en una marcha de hormigas y apuntarlo hacia el nodo objetivo, se puede usar Cytoscape.js y modificar el estilo y la animación del borde. Se puede usar la propiedad
curve-style
para establecer el estilo de curva del borde, y la propiedadtarget-arrow-shape
para establecer la forma de la flecha en el extremo objetivo del borde. Luego, se puede usar la propiedadline-dash-offset
para mover los guiones de la línea, creando un efecto de marcha de hormigas.Para apuntar el borde hacia el nodo objetivo, se puede configurar la propiedad
target-arrow-shape
a"triangle"
y la propiedadtarget-arrow-fill
a"filled"
. Esto creará una flecha rellena al final del borde que apunta hacia el nodo objetivo.Para animar el borde, se puede usar la función
animation
para modificar la propiedadline-dash-offset
del estilo del borde con el tiempo. Se puede usar una función recursiva para volver a reproducir continuamente la animación.Aquí hay un ejemplo de fragmento de código:
Este código establece el estilo de borde con una línea punteada, una flecha rellena al final objetivo del borde e inicializa la propiedad
line-dash-offset
en 0. La funciónloopAnimation
anima la propiedadline-dash-offset
, restando 8 de su valor cada 500 milisegundos, creando un efecto de marcha de hormigas. La función utiliza una llamada recursiva para reproducir continuamente la animación.