2017-02-13 7 views
0

"成長する"アニメーションの方向を決める人は誰でも説明できますか?私は SVG SMILアニメーション成長要素

<svg version="1.1" id="Ring" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" 
 
\t viewBox="0 0 450 320" style="enable-background:new 0 0 450 320;" xml:space="preserve"> 
 
    
 
    <path id="innerRing" fill="none"; stroke="#F7DE4B"; stroke-width="10"; stroke-miterlimit="10"; d="M227.1,25.8c-43.4,0-78.6,8.6-78.6,19.4s35.2,19.4,78.6,19.4s78.6-8.6,78.6-19.4 
 
\t S270.6,25.8,227.1,25.8z"/> 
 

 
<animate xlink:href="#innerRing" attributeName="stroke-dasharray" from="0 168.409 0 168.409 " to="0 0 326.818 0" begin="0" dur="1" repeatCount="1" /> 
 

 
\t <path id="outerRingMin" fill="none"; stroke="#B2A31B"; stroke-width="0.9"; stroke-miterlimit="10"; 
 
\t d="M227.1,59.8c-40.5,0-73.2-6.5-73.2-14.5s32.8-14.5,73.2-14.5c40.5,0,73.2,6.5,73.2,14.5 
 
\t S267.5,59.8,227.1,59.8"/> 
 

 
\t <animate xlink:href="#outerRingMin" attributeName="stroke-dasharray" from="0 153.693 0 153.693" to="0 0 307.386 0" begin="0" dur="1" repeatCount="1" /> 
 
\t 
 
\t <path id="outerRingMax" fill="none"; stroke="#B2A31B"; stroke-width="0.9"; stroke-miterlimit="10"; d="M227.1,69c46,0,83.4-10.7,83.4-24s-37.3-24-83.4-24c-46,0-83.4,10.7-83.4,24 
 
\t c0,13.2,36.7,23.8,82.1,24L227.1,69z"/> 
 

 
\t <animate xlink:href="#outerRingMax" attributeName="stroke-dasharray" from="0 181.92 0 181.92" to="0 0 363.84 0" begin="0" dur="1" repeatCount="1" /> 
 

 
    </svg>
はなぜ真ん中円(黄色)がアップに下から上昇して少し例を紹介します。 ?どのように変化しますか?

答えて

0

中円の始点が反転しているためです。

これを修正する最も簡単な方法は、ストロークの開始点を移動するために、中間円にstroke-dasshoffset属性を追加することです。

<path id="innerRing" fill="none" stroke="#F7DE4B" 
stroke-dashoffset="168.409" 
stroke-width="10" stroke-miterlimit="10" 
d="M227.1,25.8c-43.4,0-78.6,8.6-78.6,19.4s35.2,19.4,78.6,19.4s78.6-8.6,78.6-19.4 
    S270.6,25.8,227.1,25.8z"/> 
+0

ありがとうございます!残念ながら、なぜそれが起こったのか分からなかった。なぜ始点が反転したのですか? – BlackStar

+0

パス文字列の始点(d属性の値)は同じではありません。私はあなたがSVGを作成したときに、あなた(またはあなたの描画ツール)がそう定義したと思います。このようなアニメーションを作成する場合は、このようなパス定義を再利用するために "use"要素を使用します。http://jsdo.it/defghi1977/OYvq – defghi1977

+0

Coolありがとうございました! – BlackStar