Anime.jsvsMotionラボ

トップ/お題

SVG線画Anime.js vs Motion

お題一筆書き風のSVGパスをストロークが伸びる形で描画し、描き終わりに塗りをフェードインさせる。

デモを読み込み中...

スコアカード

実装スコアカード
ライブラリ実装行数使用API主観メモ
Anime.js11createTimeline / svg.createDrawable / staggerSVG線画専用ユーティリティの安心感がある
Motion10animate / pathLength / stagger行数は同等だが複数アニメの同期管理は自前

コード比較

import { createTimeline, stagger, svg } from "animejs";

// createDrawable()がstroke-dashの下準備を肩代わりする。
// draw属性に「可視区間」を指定するだけで線が伸びる
const drawables = svg.createDrawable(".draw-path");

const tl = createTimeline({ defaults: { ease: "inOutQuad" } });
tl.add(drawables, {
  draw: ["0 0", "0 1"], // 逆方向は ["1 1", "0 1"]
  duration: 2000,
  delay: stagger(200),
});
tl.add(".fill-shape", { opacity: [0, 0.25], duration: 600 }, "-=400");