Webページで表すことのできるアニメーションについて、いろいろと述べています。 Webアニメーションとは? アニメーションが動いて見える原理 あたりからどうぞ。
続きを読むカテゴリー: Web アニメーション API 入門
11_3 Bird Monster
カスタムイージング関数を利用したWAAPIアニメーションです。鳥が羽ばたくアニメーションはCSS Animationsで作成し、左右と上下に移動するアニメーションをWAAPIで作成しています。アニメーションの切り替えには […]
続きを読む11_2 手作りイージング関数を使ったキャンバスアニメーション
Web Animations APIとは直接は関係しませんが、イージング関数に渡す変数t, b, c, dを手作りし、得た結果を反映させるキャンバスアニメーションを作成します。1秒かけて、青い円が20から400まで移動し […]
続きを読む11-1 そもそもイージング関数は一体何を…
イージング関数とは、アニメーションに指定されたキーフレーム間のプロパティ値を補間するときに使用される関数で、次のようなグラフで表されます。一般的なイージング関数は、0秒の始まりから1秒の終わりまでの間に、0から1までの数 […]
続きを読む11 カスタムイージング
CSS Animationsでは、animation-timing-functionプロパティに cubic-bezier()関数が返す値を指定することで、独自のタイミング関数(以降、イージング関数)が使用できます。We […]
続きを読む10-10-3 getComputedTiming().progressの利用
「10-10 アニメーションタイマーとしての利用」で述べた”3 セットした時間を100%として、今がその何%に当たる瞬間かを教えてくれるタイマー”の例です。ここでは、Animation.effect.getCompute […]
続きを読む10_10_2 getComputedTiming().currentIterationの利用
「10-10 アニメーションタイマーとしての利用」で述べた”2 セットした時間を繰り返し、その回数を教えてくれるタイマー”の例です。ここでは、Animation.effect.getComputedTiming()が返す […]
続きを読む10_10_1 finishイベントの利用
「10-10 アニメーションタイマーとしての利用」で述べた”1 セットした時間の経過を教えてくれる、通常のタイマー”の例です。ここでは、アニメーションタイマーのfinishイベントを利用しています。 ページを開くと、カラ […]
続きを読む10_10 アニメーションタイマーとしての利用
Animationオブジェクトは次の特徴を持つタイマー(便宜的にアニメーションタイマーと呼びます)としても利用できます。 セットした時間の経過を教えてくれる、通常のタイマー セットした時間を繰り返し、その回数を教えてくれ […]
続きを読む10_9_4 Promise系
Animation.readyプロパティは、アニメーションの再生準備ができたときに解決されるPromiseオブジェクトを返します。これは、言い換えると、アニメーションの再生準備が確実に整うまで実行したくないコードが安心し […]
続きを読む10_9_3 再生系
Animation.playStateプロパティは、アニメーションの再生状態の取得と設定を行います。 次のコードを使用すると、アニメーションが再生状態なら、キャンセルし、再生状態でないなら再生を開始する命令が1行で記述で […]
続きを読む10_9_2 タイム系
Animation.timelineプロパティは、アニメーションのタイムラインを参照します。現状では、アニメーションの基準として使用できるタイムラインは、ドキュメントのタイムラインしかありません。 タイムラインは、 […]
続きを読む10_9_2 SVGのシークアニメーション
<svg>要素で描いたパスに沿ってHTML要素が動くアニメーションはCSSで作成できるので、同じことがWeb Animations APIでも行えます。また、アニメーションのcurrentTimeを、シークバ […]
続きを読む10_9_1 getComputedTiming()
AnimationEffectReadOnly.getComputedTiming()メソッド(具体的には、anim.effect.getComputedTiming())を使用すると、呼び出した時点での、高精度なタイム […]
続きを読む10_9_1 エフェクト系
Animation.effectプロパティは、アニメーションに関係する効果(キーフレームとタイミング)の取得と設定を行う機能を持っています。 中でも、キーフレーム情報を取得するgetKeyframes()、設定するset […]
続きを読む10_9 Animationオブジェクトのプロパティ
Animationオブジェクトには、さまざまなプロパティが用意されています。以降では、次のカテゴリーに分けて、紹介していきます。 エフェクト系:Animation.efefct タイム系:Animation.timeli […]
続きを読む10_8 タイミングパラメータの書き方
Element.animate()の第2引数やnew KeyframeEffect()の第3引数には、アニメーションの長さの数値(ミリ秒単位の整数)か、以下のタイミングに関するプロパティ値が、オブジェクト形式で指定できま […]
続きを読む10_7 キーフレームパラメータの書き方
Element.animate()メソッドやnew KeyflameEffect()には、キーフレームのセットを表すオブジェクト(キーフレームパラメータ)を渡します。その記述方法は2通りあります。 オブジェクト形式 アニ […]
続きを読む10_6 アニメーションの再生状態
アニメーションには次の再生状態があります。今どの状態にあるかは、playStateプロパティで調べることができます。 idle アニメーション設定の実行前で、アニメーションのタイム値が設定されていない状態。cancel( […]
続きを読む10_5 Animationオブジェクトのイベント
Animationオブジェクトでは、finishイベントとcancelイベントが定義されており、AnimationオブジェクトのaddEventListener()メソッドで、発生を待ち受けることができます。名前から容易 […]
続きを読む10_4 CSS Animationsの取得
CSS Animations、つまりCSSのキーフレームを使ったアニメーションは、document.getAnimations()メソッドで取得できます。結果はAnimationオブジェクトを入れた配列として返されます。 […]
続きを読む10_3 Animationオブジェクトのメソッド
Animationオブジェクトのメソッドは数が少なく、ビデオのリモコン操作のようなものなので、簡単です。 play() アニメーションの再生を開始するか、再開する。アニメーションがすでに完了している場合には、最初から開始 […]
続きを読む10_2_2 Web Animations APIアニメーションの基本 その2
実をいうと、target.animate()はAnimationオブジェクトを作成して、そのAnimationオブジェクトの再生を開始するショートカットで、実際にはその裏で、いくつかの重要な事柄が実行されています。 ta […]
続きを読む10_2 Web Animations APIアニメーションの基本 その1
WAAPIアニメーションで記述するJavaScriptは定型的で、CSS Animationsと似たプロパティ名を使用するので、早く慣れることができます。 以下は、ボールが左右に繰り返し移動する単純なCSS Animat […]
続きを読む10_1_6 Web Animations APIアニメーションの特徴
WAAPIアニメーションには、次の特徴があります。 WAAPIのタイムラインは、ドキュメントのタイムラインを受け継いだもの windowオブジェクトには、高精度のタイム値を提供するwindow.performanceオブ […]
続きを読む10_1_5 Web Animations APIのモデル
WAAPIには、タイミングモデルとアニメーションモデルという2つのモデルがあります。 タイミングモデル 一瞬一瞬のタイム値を受け取り、それをアニメーションの進捗値(全体の中で何%すすんだかを示す数値)に変換する。 同時に […]
続きを読む10_1_4 Web Animations APIのコア概念
WAAPIのアニメーションは、TimelineとAnimation、AnimationEffectで構成されます。 Timeline アニメーション再生の基準となる現在のタイム値を提供する。現状では、Documentオブ […]
続きを読む10_1_3 重要!! ブラウザの実験的な機能を有効化する方法
今後、WAAPIの実装がどのように進むかは分かりませんが、少なくとも現状では、WAAPIのフル機能を使用するには、ブラウザの実験的な機能を有効化する必要があります。 実装が最も進んでいるのはFirefoxで、次がChro […]
続きを読む10_1_2 メリットとデメリット
WAAPIには、次のメリットとデメリットがあると言われます。 メリット WAAPIは、CSSのtransformプロパティと同様、GPUを利用するので、動作が軽快。 WAAPIの記述では、CSSのプロパティ名に似たプロパ […]
続きを読む10 Web Animations API
Web Animations APIは、執筆時現在、W3Cで策定が進められている、CSSとJavaScriptの長所をミックスさせた新しいWebアニメーションの方法です。 Web Animations Editor’s […]
続きを読む6_3 よいアニメーションにするには?
よくできたアニメーション、つまり、スタート時にはもたもたせずにすぐ始まり、ヌルヌル動く(60fpsを維持する)アニメーションにするための、いくつかの技術的な方策が提案されています。 再レイアウトをともなわないCSSプロパ […]
続きを読む6_2 レイアウト変更や再描画をともなうプロパティ
要素のプロパティに変更が加えられると、ブラウザは、その変更の影響を受けるすべての要素のサイズと位置を計算しなくてはなりません。たとえば、相対的な位置設定がしてある要素の位置が変わると、他の子要素や親要素に影響が及ぶことに […]
続きを読む6_1 ブラウザがWebページを表示するまでの仕組み
快適なアニメーションにするには、ブラウザがアニメーションを画面に表示する仕組みを知っておいて損はありません。以下が概略図と説明です。 読み込んだHTMLとJavaScriptを解析してDOMツリーを構築する。 読み込んだ […]
続きを読む6 アニメーションのパフォーマンスを上げる
「1_1 アニメーションとは?」では、人間は本来的にアニメーションが好きなのだ、ということを述べましたが、これは正確ではありません。よくできたアニメーションは好きですが、できの悪いものは逆効果で、不快になるでしょう。 よ […]
続きを読む5_2 離散関数
CSS AnimationsとCSS Transitionsのタイミング関数には、出力される値が途切れる離散関数も指定できます。指定にはsteps()関数を使用します。 steps( number_of_steps, d […]
続きを読む5_1 連続関数
タイミング関数のうち、値が途切れずに変化しつづける関数を連続関数と言います。以下はCSSアニメーションに使用できる連続関数の一部です。 linear 定速 ease 最初加速し、だんだん減速 ease-in だんだん加速 […]
続きを読む5 タイミング関数
タイミング関数は別名イージング関数とも呼ばれ、CSS AnimationsやCSS Transitionsアニメーションを作成するとき、animation-timing-functionやtransition-timin […]
続きを読む4_5 CSS Transitionsのイベント
CSS Transitionsのイベントの発生は、CSS Transitionsアニメーションを実行するHTML要素のaddEventListener()メソッドで監視できます。 イベントには次のものがあります。 tra […]
続きを読む4_4 transtionプロパティ
transition CSSプロパティは、CSS Transitionsアニメーションを指定するショートハンド(一括指定)プロパティです。 通常は、transition:につづけて、変化の発生を監視するプロパティ名、その […]
続きを読む4_3 CSS Transitionsのポイント
CSS Transitionsは次の手順で作成できます。 アニメーションさせたい要素のCSSクラスで、transitionプロパティを設定する。 監視するプロパティが変化するきっかけを作成する。 前の例では、<im […]
続きを読む4_2 基本
CSS Transitionsの基本を以下に示します。 マウスオーバーで写真が少し傾き、大きくなるアニメーション HTML まずはHTMLです。<div>要素の中に、<a>、その中に<img […]
続きを読む4_1 CSS Transitionsの特徴
CSS Transitionsは、初めの状態と終わりの状態の間で、時間経過とともにCSSプロパティの値を変更することで、アニメーションを実現する方法です。 CSS Animationsとの大きな違いは、 キーフレームがな […]
続きを読む4 CSS Transitions
CSSアニメーションには、CSS Animations(キーフレームアニメーション)のほかにもう1つ、CSS Transitionsがあります。アニメーションの仕組みとしてはCSS Animationsの方が分かりやすい […]
続きを読む3_5 CSS Animationsのイベント
CSS Animationsのイベント、つまり、キーフレームアニメーションのイベントの発生は、アニメーションを実行するHTML要素のaddEventListener()メソッドで監視できます。 イベントには次のものがあり […]
続きを読む3_4 animationプロパティ
animation CSSプロパティは、キーフレームアニメーションを指定するショートハンド(一括指定)プロパティです。 通常は、animationにつづけて、まずアニメーション名、その後にアニメーションにかける時間(du […]
続きを読む3_3 CSS Animationsのポイント
CSS Animationsを作成する手順をまとめると、次のようになります。 アニメーションさせたい要素のCSSクラスで、animationプロパティを設定する。 キーフレームを定義する。 animation: bree […]
続きを読む3_2 基本
CSS Animationsの基本を示します。 みの虫がそよ風に揺れるアニメーション HTML <div class=”minomushi breeze”></div> HTMLでは、<di […]
続きを読む3_1 CSS Animationsの特徴
CSS Animationsは、キーフレームを使って、時間経過とともにCSSプロパティの値を変化させることでアニメーションを実現する方法です。別名、キーフレームアニメーションと呼ばれ、後で述べるCSS Transitio […]
続きを読む3_CSS Animations
ここで言うCSS Animationsとは、@keyframeルールを使ったキーフレームアニメーションを言います。CSSアニメーションにはもう1つ、CSS Transitionsと呼ばれるものがあり、混同しがちなので、注 […]
続きを読む1_4 Webで見られるアニメーションの種類
Webで見られるアニメーションを、使用される技術の観点からいうと、HTML5の現在、次の5つに分けられます。 JavaScriptによるDOM操作 CSSアニメーション <canvas>要素のアニメーション […]
続きを読む1_3 Webアニメーション(CSSアニメーション)の場合
Webページで見られるCSSアニメーションも、人間の錯覚によって生まれるという点では、映画のアニメーションと同じです。ただし、CSSアニメーションでは、全コマを描くわけではありません。変化のポイントとなる時点をキーとして […]
続きを読む1_2 アニメーションが動いて見える原理
アニメーションが動いて見えるのは、人間の錯覚で、脳がだまされているからです。 映画のフィルムのコマで考えると分かりやすくなります。 映画では、1秒間に24のコマが映写されます。これは高速なので、人間の目(脳)は残像現象に […]
続きを読む1_1 アニメーションとは?
Animationは、ラテン語で”霊魂”と意味するanima(アニマ)に由来していると言われ、本来は動かない、生命のないものに命を与えて動かすことを意味します。 コンピュータの世界でアニメーションと言うと、ある時間をかけ […]
続きを読む1 Webアニメーションとは?
日本語でアニメーションと言うと、通常はテレビや映画のアニメを指しますが、コンピュータの世界では、時間の経過とともに、たとえば色が変わっていくこともアニメーションと呼ばれます。
続きを読むWeb Animationsことはじめ
練習。
続きを読む