SVGアニメーション – javascriptを使う(7) – transform の rotate 要素の動的変化

javascript

SVGアニメーション – javascriptを使う(7) – transform の rotate 要素の動的変化

アニメーションとして取り扱えるSVGのプロパティの transform の rotate を試してみます。

transformのプロパティは、下記のパラメータを指定することができます。

rotate      回転の中心 X Y 座標回転
scale       縦の倍率 拡大縮小
skewX       横方向の傾斜
skewY       縦方向の傾斜
translate   移動
matrix      行列を利用して変形

ここでは、rotateの値を動的に変更する例を試してみます。
下記のサンプルを用意しました。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>テストHTML</title>

<style>
#recttest {
	stroke: #000;
	stroke-width: 2;
}
</style>

</head>
<body>

<svg xmlns="http://www.w3.org/2000/svg"
    width   = "500"
    height  = "250"
    viewBox = "0 0 500 250"
>
    <rect
        id     = "recttest"
        x      = "0"
        y      = "0"
        width  = "20"
        height = "20"
        fill   = "#999"
    />
</svg>

<script>
 
    let inter_value = 0;
    let millisecond  = 10;
    let dom_rect     = document.querySelector("#recttest");
 
    setInterval(() => {
 
        inter_value += 1;
 
        dom_rect.setAttribute('transform', 'translate(150, 125) rotate(' + inter_value + ')');

        if (inter_value > 360) {
            inter_value = 0;
        }
 
    }, millisecond)
 
</script>

</body>
</html>

サーバ上のHTMLはこちら(test1.html)

画面にアクセスすると、SVGのrect要素が出力されます。

javascriptによる transform 要素の rotate の動的変更で、SVG画像が回転することが確認できます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です