ホームページ ウェブフロントエンド H5 チュートリアル HTML5 11 での SVG 2D の概要 - ユーザーの対話性 (アニメーション) の概要と application_html5 チュートリアルのスキル

HTML5 11 での SVG 2D の概要 - ユーザーの対話性 (アニメーション) の概要と application_html5 チュートリアルのスキル

May 16, 2016 pm 03:50 PM
2d svg アニメーション

対話性
SVG は、次のような優れたユーザー対話性を備えています。
1. SVG は、ほとんどの DOM2 イベントに応答できます。
2. SVG はカーソルを介したユーザーのマウスの動きをうまくキャプチャできます。
3. ユーザーは、svg 要素のzoomAndPan 属性の値を設定することで、ズームやその他の効果を簡単に実現できます。
4. ユーザーはアニメーションとイベントを簡単に組み合わせて、複雑な効果を完成させることができます。
イベントを SVG 要素に添付すると、スクリプト言語を使用していくつかの対話型タスクを簡単に完了できます。 SVG は、onfocusin、onfocusou、onclick、onmousedown、onmouseup、onmousemove、onmouseout、onload、onresize、onscroll、その他のイベントなど、ほとんどの DOM2 イベントをサポートします。これらに加えて、SVG は、onroom、onbegin、onend、onrepeat などの独自のアニメーション関連イベントも提供します。
この事件については誰もがよく知っているので、詳しくは述べません。

アニメーション メソッド
SVG はテキストを使用してグラフィックを定義します。このドキュメント構造はアニメーションの作成に非常に適しています。グラフィックスの位置、サイズ、色を変更するには、対応するプロパティを調整するだけです。実際、SVG にはさまざまなイベント処理用に特別に設計されたプロパティがあり、その多くはアニメーション用に特別に調整されています。 SVG では、アニメーションを実装する方法がいくつかあります。
1. SVG アニメーション要素を使用します。これについては以下で強調します。
2. スクリプトを使用します。 DOM 操作を使用してアニメーションを開始および制御することは、すでに成熟したテクノロジーです。以下に小さな例を示します。
3. SMIL (同期マルチメディア統合言語)。ご興味がございましたら、http://www.w3.org/TR/2008/REC-SMIL3-20081201/ をご覧ください。
次の例には、SVG の最も基本的なアニメーションがいくつか含まれています:

コードをコピー
コードは次のとおりです。

xmlns="http://www.w3 .org /2000/svg" version="1.1">
基本的なアニメーション要素
fill="none" ストローク="blue" ストローク幅="2" />
- Set は可視性をアニメーション化するために以下で使用され、その後 animateMotion、
animate、animateTransform は他のタイプのアニメーションを実行するために使用されます -->
font-family="Verdana" font-size="35.27" Visibility="hidden">
生きています!
begin="3s" dur="6s" fill="freeze" />
begin="3s" dur= "6s" fill="freeze" />
from="rgb(0,0,255)" to="rgb(128,0,0) )"
begin="3s" dur="6s" fill="freeze" />
type="rotate" from= -30" to="0"
begin="3s" dur="6s" fill="freeze" />
type= "scale" from="1" to="3" additive="sum"
begin="3s" dur="6s" fill="freeze" />




このコードを HTML ドキュメントの本文に挿入して実行し、アニメーションの効果を確認します。

アニメーション化された要素のパブリック属性
カテゴリ 1: ターゲット要素と属性の指定
xlink:href
これは、次のことを指します。アニメーションが実行される要素。この要素は、現在の SVG ドキュメント フラグメントで定義する必要があります。この属性が指定されていない場合、アニメーションはその親要素に適用されます。
attributeName = ""
この属性は、アニメーションが適用される属性を指定します。属性に名前空間がある場合 (SVG は本質的に XML ドキュメントであることを忘れないでください)、この名前空間も追加する必要があります。たとえば、次の例では、xlink に別のエイリアスが与えられています。ここで、animate は属性を指定するときに名前空間を使用します。

Copy code
コードは次のとおりです。

xmlns:xlink= "http://www.w3.org/1999/xlink">
アニメーションの名前空間の解決のデモ








attributeType = "CSS | XML | auto (デフォルト値)"
この属性は、属性値の名前空間を指定します。このいくつかの値の意味は次のとおりです。
CSS:attributeName で指定された属性が CSS 属性であることを表します。
XML:attributeName で指定された属性は、XML デフォルト名前空間の属性です (svg ドキュメントは本質的に xml ドキュメントであることに注意してください)。
auto: CSS 属性のattributeNameで指定された属性を最初に検索することを意味します。見つからない場合は、デフォルトの XML 名前空間で属性が検索されます。
カテゴリ 2: アニメーション時間を制御する属性
次の属性はすべてアニメーション時間属性であり、アニメーションの開始方法と終了方法、およびアニメーションを繰り返すかどうかなど、アニメーション実行のタイムラインを制御します。アニメーションの終了状態を保存するかどうかなど。
begin = "begin-value-list"
この属性はアニメーションの開始時間を定義します。セミコロンで区切られた一連の時間値を指定できます。アニメーションの開始をトリガーする他の値を使用することもできます。イベントやショートカットキーなど。
dur = Clock-value | "media" | "infinity"
はアニメーションの継続時間を定義します。時計形式で表示される値を設定できます。次の 2 つの値に設定することもできます。
media: アニメーション時間が内部マルチメディア要素の継続時間であることを指定します。
infinity: アニメーション時間を無限に指定します。
クロック形式は、次の正当な値形式を指します:

コードをコピー
コードは次のとおりです:

:30:03= 2 時間 30 分 3 秒
:00:10.25 = 50 時間 10 秒 250 ミリ秒
:33 = 2 分 33 秒
:10.5 = 10.5 秒 = 10 秒と 500 ミリ秒
.2h= 3.2 時間 = 3 時間 12 分
分 = 45 分
s = 30 秒
ms = 5 ミリ秒
.467= 12 秒と 467 ミリ秒
.5s = 500 ミリ秒
:00.005 = 5 ミリ秒

end = "end-value-list"
はアニメーションの終了時間を定義します。セミコロンで区切られた一連の値を指定できます。
min = クロック値 | "media"
max = クロック値 | "media"
アニメーション期間の最大値と最小値を設定します。
restart = "always" | "whenNotActive" | "never"
アニメーションをいつでも再開できるかどうかを設定します。 always は、アニメーションがいつでも開始できることを意味します。 whenNotActive は、前の再生が終了した場合など、再生していないときにのみ再開できることを意味します。 Never はアニメーションを再開できないことを意味します。
repeatCount = 数値 | "infinity"
アニメーションの繰り返し回数を設定します。不定は無限の繰り返しを表します。
repeatDur = Clock-value | "infinity"
アニメーションの繰り返し時間を設定します。不定は無限の繰り返しを表します。
fill = "freeze" | "remove(デフォルト値)"
アニメーション終了後の要素の状態を設定します。フリーズとは、アニメーションが終了した後、要素がアニメーションの最終状態にとどまることを意味します。削除は、アニメーションが終了した後、要素がアニメーション前の状態に戻ることを意味します。これがデフォルト値です。
カテゴリ 3: アニメーション値を定義する属性
これらの属性は、アニメーション化される属性の値を定義します。実際、キーフレームと補間のためのいくつかのアルゴリズムが定義されています。
calcMode = "離散 | 線形 (デフォルト値) | ペース | スプライン"
は、アニメーション補間方法を定義します。離散: 離散、補間なし、線形: 直線補間、ペース補間: サンプル ストリップ補間。デフォルトは線形(線形補間)ですが、アトリビュートが線形補間をサポートしていない場合は、離散補間が使用されます。
values= ""
は、アニメーション キーフレームの値のセミコロン区切りのリストを定義します。サポートベクター値。
keyTimes = ""
アニメーション キーフレーム時間のセミコロン区切りのリストを定義します。これは値と 1 対 1 に対応します。この値は補間アルゴリズムの影響を受けます。線形補間およびスプライン補間の場合、keyTimes の最初の値は 0、最後の値は 1 でなければなりません。離散非補間メソッドの場合、keyTimes の最初の値は 0 でなければなりません。ステップ補間法の場合、keyTimes が必要ないことは明らかです。また、アニメーションの継続時間が無限に設定されている場合、keyTimes は無視されます。
keySplines = ""
この属性は、スプライン補間 (ベッセル補間) 中の制御点を定義します。これは、補間モードがスプラインとして選択されている場合にのみ機能します。このリストの値の範囲は 0 から 1 です。
from = ""
to = ""
アニメーション属性の開始値、終了値、ステップ値を定義します。ここで注意してください: 値がすでに指定されている場合、from/to/by の値は無視されます。

カテゴリ 4: アニメーションが増分であるかどうかを制御するプロパティ 場合によっては、追加プロパティを使用して、関連する値が絶対値ではなく増分値に設定されていると非常に便利です。この目的を果たすことができます。
additive = "replace(default value) | sum"
この属性は、アニメーションが増分であるかどうかを制御します。 sum は、関連する属性値または他の優先度の低いアニメーションの方がアニメーションが大きくなることを意味します。 replace はデフォルト値です。これは、アニメーションが関連する属性値または他の優先度の低いアニメーションを上書きすることを意味します。小さな例を見てみましょう:


コードをコピーしますコードは次のとおりです:

additive="sum"/> ;
< ;/rect>

この例では、長方形の幅を増やすアニメーション効果を示します。
繰り返しのアニメーション結果を重ね合わせると、accumulate 属性を使用して実現できる場合も非常に便利です。
accumulate = "none (デフォルト値) | sum"
この属性は、アニメーション効果が累積的であるかどうかを制御します。デフォルト値は None です。これは、繰り返されるアニメーションが蓄積されないことを意味します。 sum は、繰り返されるアニメーション効果が累積されることを意味します。単一実行アニメーションの場合、このプロパティは意味を持ちません。小さな例を見てみましょう:


コードをコピーしますコードは次のとおりです:

additive="sum" 累積="sum"repeatCount= "5"/>

この例は、反復ごとに長方形の長さが増加することを示しています。
アニメーション要素の概要
SVG は次のアニメーション要素を提供します。
1. アニメーション要素
これは最も基本的なアニメーション要素であり、直接使用できます。関連するアニメーション要素に使用されるプロパティは、さまざまな時点での値を提供します。
2. set 要素
これは animate 要素の略称で、すべての属性タイプをサポートします。これは、非数値属性 (可視性など) をアニメーション化する場合に特に便利です。 set 要素は非増分であり、関連する属性はそれに影響を与えません。 to で指定されるアニメーション終了値の型は、属性の値の型と一致する必要があります。
3. animateMotion 要素
Lu Jin アニメーション要素。この要素のほとんどの属性は上記と同じですが、以下のいくつかの違いがあります:
calcMode = "discrete | linear | paced | spline"
この属性のデフォルト値は、このデフォルトとは異なります。要素はペースです。
path = ""
アニメーション要素が移動するパス。形式は path 要素の d 属性の値の形式と一致します。
keyPoints = ""
この属性の値はセミコロンで区切られた一連の浮動小数点値であり、各値の値の範囲は 0 ~ 1 です。これらの値は、keyTimes 属性で指定された対応する時点での移動距離を表します。ここでの具体的な距離はブラウザ自体によって決定されます。
rotate = auto | auto-reverse"
この属性は、要素が移動するときの回転角度を指定します。デフォルト値は 0 で、数値は回転角度を表します。オートリバースとは、進行方向とは逆方向に回転することを意味します。また、animateMotion要素のfrom、by、to、の値で構成されます。座標ペア。x 値と y 値はカンマまたはスペースで区切られます。たとえば、from="33,15" は開始点の x 座標が 33 であり、y 座標が 33 であることを意味します。 15.
モーションパスを指定するには、path属性を直接指定する方法と、animateMotiondeの子要素としてmpath要素を使用する方法の2つがあります。両方の方法を使用する場合、mpathの使用が優先されます。要素は、from、by、to の値よりも大きいです。🎜>小さな例を見てください:



コードをコピーします コードは次のとおりです。
< ?xml version="1.0"standalone="no"?> 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
xmlns="http://www.w3.org/2000/svg" version="1.1"
xmlns:xlink="http://www.w3.org/ 1999/xlink" >
fill="none" ストローク="青" ストローク幅=" 2" />
fill="none" ストローク="青" ストローク幅="7.06 "/>


< サークル cx="400" cy="250" r="17.64" fill="blue"/> M-25,-12.5 L25,-12.5 L 0,-87.5 z"
fill=" yellow" ストローク = "red" ストローク幅 = "7.06">


/svg>



4. animateColor 要素

カラー アニメーション要素。これは古い要素なので、基本的にすべての機能は animate で置き換えることができるため、もう使用しないでください。
5. animateTransform 要素
変形アニメーション要素。いくつかの特別な属性を見てみましょう: type = "translate |scale |rotate | skewX | skewY"
この属性は変換のタイプを指定します。translate がデフォルト値です。
from、by、to の値は、変換の対応するパラメーターです。これは、上記の変換と一致します。値はセミコロンで区切られた一連の値です。 アニメーション効果をサポートする要素と属性基本的にすべてのグラフィック要素 (path、rect、ellipse、text、image...)、コンテナ要素 (svg、g、defs、use、switch、clipPath、mask. . .) すべてアニメーションをサポートしています。基本的にほとんどのプロパティはアニメーション効果をサポートしています。詳細な手順については、公式ドキュメントを参照してください。

DOM を使用してアニメーションを実装します

SVG アニメーションはスクリプトを使用して完成させることもできます。DOM の詳細は後で紹介します。



コードをコピーします

コードは次のとおりです:


"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> ;
xmlns="http://www.w3.org/2000/svg"
onload=" StartAnimation(evt)" version="1.1">

fill="none" ストローク="ブルー" ストローク幅="2"/>

SVG



参考文献:
インデックスインデックス:http://msdn.microsoft.com/zh-cn/library/ff971910(v=vs.85) ).aspx
开発行中心:https://developer.mozilla.org/en/SVG
热门 参考:http://www.chinasvg.com/
官方文档:http://www.w3.org/TR/SVG11/

SVGアニメーション画技术:http://msdn.microsoft.com/zh-cn/library/gg589525(v=vs.85).aspx

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11 でアニメーション効果を高速化する方法: 2 つの方法を説明 Windows 11 でアニメーション効果を高速化する方法: 2 つの方法を説明 Apr 24, 2023 pm 04:55 PM

Microsoft が Windows 11 を発表したとき、多くの変化がもたらされました。変更点の 1 つは、ユーザー インターフェイスのアニメーションの数が増加したことです。一部のユーザーは表示方法を変更したいと考えており、その方法を見つける必要があります。アニメーションがあると、より快適でユーザーフレンドリーな印象になります。アニメーションは視覚効果を使用して、コンピュータをより魅力的に見せ、応答性を高めます。それらの中には、数秒または数分後にスライド メニューが表示されるものもあります。コンピュータには、PC のパフォーマンスに影響を与え、速度を低下させ、作業を妨げる可能性のあるアニメーションが数多くあります。この場合、アニメーションをオフにする必要があります。この記事では、PC 上でアニメーションの速度を向上させるいくつかの方法を紹介します。レジストリ エディターまたは実行するカスタム ファイルを使用して変更を適用できます。 Windows 11 でアニメーションを改善する方法

CSS アニメーション: 要素のフラッシュ効果を実現する方法 CSS アニメーション: 要素のフラッシュ効果を実現する方法 Nov 21, 2023 am 10:56 AM

CSS アニメーション: 要素のフラッシュ効果を実現する方法、具体的なコード例が必要です。Web デザインでは、アニメーション効果がページに優れたユーザー エクスペリエンスをもたらすことがあります。グリッター効果は、要素をより目を引くようにできる一般的なアニメーション効果です。 CSSを使って要素のフラッシュ効果を実現する方法を紹介します。 1. フラッシュの基本的な実装 まず、フラッシュ効果を実現するには、CSS のアニメーション プロパティを使用する必要があります。アニメーション属性の値には、アニメーション名、アニメーション実行時間、アニメーション遅延時間を指定する必要があります。

PowerPoint でアニメーションが機能しない [修正] PowerPoint でアニメーションが機能しない [修正] Feb 19, 2024 am 11:12 AM

プレゼンテーションを作成しようとしていますが、アニメーションを追加できませんか? Windows PC 上の PowerPoint でアニメーションが機能しない場合は、この記事が役に立ちます。これは多くの人が不満を抱く一般的な問題です。たとえば、Microsoft Teams でのプレゼンテーション中または画面録画中にアニメーションが停止する場合があります。このガイドでは、Windows 上の PowerPoint で動作しないアニメーションを修正するのに役立つさまざまなトラブルシューティング テクニックを説明します。 PowerPoint アニメーションが機能しないのはなぜですか? Windows 上で PowerPoint のアニメーションが機能しない問題を引き起こす可能性のある考えられる理由として、次のようなことが考えられます。

最初に入力してから終了するように ppt アニメーションを設定する方法 最初に入力してから終了するように ppt アニメーションを設定する方法 Mar 20, 2024 am 09:30 AM

私たちは日々の仕事で ppt をよく使用しますが、ppt のすべての操作機能に精通していますか?例: ppt でアニメーション効果を設定する方法、切り替え効果を設定する方法、各アニメーションの効果時間はどれくらいですか?各スライドは自動的に再生されますか、ppt アニメーションの開始と終了などはできますか? 今回は、まず ppt アニメーションの開始と終了の具体的な手順を共有します。以下にあります。友達、見に来てください。見て! 1. まず、コンピューターで ppt を開き、テキスト ボックスの外側をクリックしてテキスト ボックスを選択します (下図の赤い丸で示されているように)。 2. 次に、メニューバーの[アニメーション]をクリックし、[消去]効果を選択します(図の赤丸部分)。 3. 次に、[

Vue を使用してタイプライター アニメーション効果を実装する方法 Vue を使用してタイプライター アニメーション効果を実装する方法 Sep 19, 2023 am 09:33 AM

Vue を使用してタイプライター アニメーションの特殊効果を実装する方法 タイプライター アニメーションは、Web サイトのタイトル、スローガン、その他のテキスト表示でよく使用される、一般的で目を引く特殊効果です。 Vue では、Vue カスタム命令を使用してタイプライター アニメーション効果を実現できます。この記事では、Vue を使用してこの特殊効果を実現する方法を詳しく紹介し、具体的なコード例を示します。ステップ 1: Vue プロジェクトを作成する まず、Vue プロジェクトを作成する必要があります。 VueCLI を使用して新しい Vue プロジェクトをすばやく作成することも、手動で作成することもできます。

SVG を使用して画像モザイク効果を実現する方法について話しましょう SVG を使用して画像モザイク効果を実現する方法について話しましょう Sep 01, 2022 am 11:05 AM

Javascriptを使用せずにSVGを使用して画像モザイク効果を実現するにはどうすればよいですか?以下の記事で詳しく解説していますので、お役に立てれば幸いです。

Windows 11でアニメーションを無効にする方法 Windows 11でアニメーションを無効にする方法 Apr 16, 2023 pm 11:34 PM

Microsoft Windows 11 には、多くの新機能が含まれています。ユーザーインターフェイスが更新され、いくつかの新しいエフェクトも導入されました。デフォルトでは、アニメーション効果はコントロールやその他のオブジェクトに適用されます。これらのアニメーションを無効にする必要がありますか? Windows 11 には視覚的に魅力的なアニメーションとフェード効果が備わっていますが、特定のタスクに多少の遅れが生じるため、一部のユーザーにとってはコンピューターが遅く感じる場合があります。アニメーションをオフにして、応答性の高いユーザー エクスペリエンスを実現するのは簡単です。オペレーティング システムに加えられたその他の変更を確認した後、Windows 11 でアニメーション効果をオンまたはオフにする方法を説明します。方法についての記事もあります

2年の遅れを経て、国産3Dアニメ映画『エル・ランシェン:深海竜』が7月13日に公開予定 2年の遅れを経て、国産3Dアニメ映画『エル・ランシェン:深海竜』が7月13日に公開予定 Jan 26, 2024 am 09:42 AM

当サイトは1月26日、国産3Dアニメ映画『エル・ランシェン:深海竜』が最新スチールを公開し、7月13日に公開されると正式に発表したと報じた。 「Er Lang Shen: The Deep Sea Dragon」は、Mihuxing (Beijing) Movie Co., Ltd.、Horgos Zhonghe Qiancheng Film Co., Ltd.、Zhejiang Hengdian Film Co., Ltd.、Zhejiang Gongying Film によって制作されていることがわかります。 Tianhuo Technology Co., Ltd.とHuawen Image (Beijing) Film Co., Ltd.が制作し、Wang Junが監督したこのアニメーション映画は、当初、2022年7月22日に中国本土で公開される予定でした。 。このサイトのあらすじ:授与神の戦いの後、蒋子耶が神々を分割するために「授与神リスト」を持ち出し、授与神リストは天宮によって九州の深海に封印された秘密の領域。実は、授与神リストには神職以外にも強力な悪霊が数多く封印されている。

See all articles