Webアプリ開発エンジニアのための技術情報サイト「テックスコア」

5.ダイナミックSVG1

2005.12.08 株式会社四次元データ 藤本将光

これまでは、静的な描画表現方法について説明してきました。ここからは作成した画像を動かす方法について解説します。

SVGにおいて動的な処理を行う方法には、以下の2つの方法があります。

  1. animete要素によってアニメーションを記述する
  2. JavaScript、DOMを組み合わせて属性を変化させる

本章と次章(6章)では、animate要素によるアニメーションの記述方法を示します。

5.1. animate要素によるアニメーション

animate要素によるアニメーションは、要素の属性値を変化させることによって行います。

実際には、アニメーションの対象となる描画要素の中に、animate要素を入れ(入れ子にする)、そのanimate要素の中で、以下の属性値を指定することによって、アニメーションを行います。

animate要素には以下のものがあります。

animate要素説明
animate 対象とする描画要素の属性を指定し、それを変化させる
animateMotion対象となる描画要素をモーションパスに合わせて、動かす
animateColor色を変化させる
animateTransformtransform属性にアニメーション機能を与えたもの

以下にanimate要素における属性を示します。

<すべてのanimate要素に共通する属性>

属性値説明
attributeType変更する属性のタイプを指定する。
attributeName変化させたい属性の名前を指定する。
from変化させたい属性のアニメーションの開始時の値を示す。
to変化させたい属性値のアニメーションの終了時の値を示す。
beginアニメーションの開始時を示す。
durアニメーションの期間を示す。
byアニメーションがオフセットされる時間を示す。
fillアニメーション終了時の設定を指定する。値には「freeze」か「remove」を入れる。「freeze」であれば、終了時に属性が変化した状態のままにする。「remove」であれば、終了時に、最初の設定に戻す。
values複数の値をセミコロンで区切って入れる。from,to,by属性の代わりに変化する値を指定することができる。例えば、values="0;3;10" begin="1" dur="2"のとき、属性値は1秒後には0、2秒後には3、3秒後には10に変化する。
repeatCountアニメーションを反復させる回数を指定する。"indefinite"なら、永久に反復する。
repeatDurアニメーションを反復させる期間を指定する。

では、実際のanimate要素のサンプル見てみましょう。



前のページへ TECHSCOREのTOPページへ 次のページへ
techscore(トップページへ)
TECHSCORE書店
TECHSCOREトップページJavaSQLXMLリッチクライアントモデリングセマンティックWebその他技術Tuigwaa