バージョン 2 - VMware仮想マシンのインポート、アップグレード、エクスポート _____61 仮想マシンが1個以上の仮想プロセッサを使用するように構成
HTML5 アニメーション Ë E -...
Transcript of HTML5 アニメーション Ë E -...
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
HTML5 アニメーション⼊入⾨門池⽥田泰延 | ClockMaker
東京てら⼦子Vol.16 | 2011/06/25
http://clockmaker.jp/ Twitter ID : clockmaker
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
Flash要らず HTMLでアニメーション
CSS + JavaScript
Canvas + JavaScript
CSS3 Animations
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
Flash要らず HTMLでアニメーションメリット デメリット
CSS3 Animations iPhone/iPadで⾼高速描画 対応していないブラウザが多い(例:Androidの標準ブラウザ)
Canvas +JavaScript
⾃自由に描画ができる・表現⼒力力が⾼高い
マシンのパフォーマンスに依存(モバイルではほとんど速度がでない) マウスイベントの扱いが難しい
CSS +JavaScript
レガシーなブラウザでも動作 DOMに対してイベントハンドリングできる
マシンのパフォーマンスに依存
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
Flashでの描画更新
• Flashではエンターフレームと いう概念がある
• フレームが進むごとに 描画される
• 最⼤大60fpsで描画更新が可能
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
HTMLでの描画更新
• JavaScriptではフレームという概念がない • JavaScriptのsetInterval()を実⾏行行して 描画更新を⾏行行う
• 描画更新の対象にDOMやCanvasを使える• ブラウザ毎に更新周期の上限が違うが
Flashより⾼高い描画更新頻度を処理できる
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
setInterval(loop, 16); // 16msec = 60fps function loop (){ // refresh view
}
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
setIntevalのデメリット
• iOS/Androidでは全く速度がでない (10fpsが上限?)
• ⾮非アクティブ時も実⾏行行され続ける (Flash Playerでは⾮非アクティブ時にはfpsを⾃自動的に落とし、バッテリー消費量の削減を図る)
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
Canvas vs Flash Player
• http://www.youtube.com/watch?v=nBkLfgDueyw
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
HTML5
• requestAnimationFrame というsetIntervalに変わる仕様
• 現時点(11/6/25)で実装されているのは Firefox5とChrome14のみ
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
requestAnimationFrame
• 複数の描写処理を⼀一つにまとめて最適化 – 描画処理が⼀一箇所にまとめるため、 複数のオブジェクトのモーションが 次第にずれていくとかがなくなる
– CSS transitionsやSVG SMIL(SMIL Animation)と同期がとれる
• 不要な場合に処理を⾏行行わない – ブラウザのタブが裏に回って ⾮非表⽰示になってるとときは処理しない (Flash Playerと同じ挙動)
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
requestAnimationFrame
loop(); function loop (){ // refresh view
// webkit if (window.webkitRequestAnimationFrame window.webkitRequestAnimationFrame(loop); } // Firefox else if (window.mozRequestAnimationFrame) { window.mozRequestAnimationFrame(loop); }
}
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
DEMO
• http://d.hatena.ne.jp/uupaa/20110622/1308713373
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
requestAnimationFrame
• 参考記事 – パーティクル3万個 - latest blog
http://d.hatena.ne.jp/uupaa/20110622/1308713373
– requestAnimationFrame < よーしおまえらー、アニメーションにsetInterval使うなよー http://d.hatena.ne.jp/calpo/20110523/p1
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
CSS3
• CSS3を使うとiOSでは、GPUで処理される(と⾔言われている)ため、⾮非常に軽快に動作
• iOS向けに最適化する場合に利⽤用 • ただし複雑な(例:アニメーションが多数、⼊入れ⼦子構造)ものはバグが発⽣生するため注意が必要
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
-webkit-transform
• 移動アニメーションについて、 -webkit-transform-translateを使う場合は、 -webkit-transform-translate3dを利⽤用
• 本来は3D(Z座標)を使うためのものだが、z=0を指定して2Dとして利⽤用する
• GPUによる⾼高速化が有効になる
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
CSS3 Animations Code
.motionA { -webkit-transform:translate3d(480px, 0px, 0px); -webkit-transition-duration:2.0s; -webkit-transition-timing-function:ease-out; }
$("#btn").click(function(){ // start animation at click event $("#box").addClass("motionA"); });
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
DEMO
• http://dl.dropbox.com/u/268240/zudologFiles/transformSpeedDiff/500_index.html
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
CSS3 Animations ライブラリ
• TransformAnimator CSS3のtransitionのアニメーションをJSから制御できるライブラリ http://zudolab.net/blog/?p=338
• iScroll iOS(iPhone/iPad)でスクロールバーを実装するためのライブラリ。スクロールの処理にwebkitTransformを使っている http://cubiq.org/iscroll
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
ブラウザ対応
IE6 IE7 IE8
Firefox4~ Chrome Safari5~
iPhone iPad
AndroidCSS + JavaScript
CSS3 Animations
Canvas+ JavaScript
Firefox3.x Safari4 IE9
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
ブラウザ対応
IE6 IE7 IE8
Firefox4~ Chrome Safari5~
iPhone iPad
AndroidCSS + JavaScript
CSS3 Animations
Canvas+ JavaScript
Flash
Firefox3.x Safari4 IE9
-
©2011 ClockMaker (http://clockmaker.jp). All rights reserved.
ActionScript Beautifl Code ページ数:280ページ出版社: ワークスコーポレーション発売⽇日: 2011年6⽉月8⽇日 著者:池⽥田泰延
http://clockmaker.jp/
ご清聴ありがとうございました。 Thank you for your attention.
Flash ではじめる Android アプリ開発⼊入⾨門 ページ数:320ページ出版社: 技術評論社 発売⽇日: 2011年3⽉月18⽇日 著者:池⽥田泰延, 古堅真彦
Twitter ID : clockmaker