== アニメーション == パスに沿った動き 物体をパスにそって動かすにはつぎのように書きます。 animateMotionの属性 begin アニメーションを始める時間を指定します。例えば begin="0s" dur アニメーションの長さを指定します。例えば dur="5s" fill アニメーションが終わったあと、物体の表示をどうするか指定します。 指定しないと、useで指定した場所に描かれます。 fill="freeze"とすると最後の場所で止まります。 repeatCount 繰り返しの回数を指定します。例えば repeatCount="10" 限りなく繰り返すには repeatCount="indefinite" とします。 rotate 動かす物体の向きを指定します。 指定しないと、もとの向きのままで動きます。 パスの向きにしたがって向きを変えるには rotate="auto" とします。 アニメーションの例 青い円をパスに沿って動かすサンプルです。 内に2つの定義があります。 1番目はで形は4角形です。 どのように動くかをで記述します。 2番目はで形は青い円です。 動かす物体です。複雑な形でもかまいません。 を使ってまとめ、名前をつけています。 より後ろにあるのが実際に表示される部分です。 ここにはが1つだけあります。 今回のはいつもの単独タグではなく、開始タグと終了タグがあります。 動かす物体はuseの属性として指定します。ここでは xlink:href="#maru" x="0" y="0" となっています。 の内側にが入っています。 これがアニメーションの指定です。 begin="0s" dur="4s" で時間の指定を0秒目から4秒目としています。 さらにその内側にある でパスを参照し、動きの線を指定しています。 この全体の意味は 「図形maruを0秒目から4秒目の間に、path1にそって動かす」 になります。 いろいろなアニメーション 動きだけでなく、大きさを変えたり、向きを変えるなどいろいろなアニメーションが可能です。 サンプル1 長方形の幅を200から20までだんだん小さく変化させるものです。 attributeNameでどの属性を変化させるのか指定し、 値はfromとtoで、時間はbeginとdurで指定します。 サンプル2 animateを2つ使って、widthとheightを別々に変化させています。 サンプル3 Hello 一定時間後にHelloと表示します。 animateではなくsetを使って、属性の値を変えています。 サンプル4 animateColorを2つ使って、fillとstrokeを変化させています。 サンプル5 5秒後にscale(2 5)に拡大されます。