MoviePng.jsはパーティクルなどで複数表示を行う場合にも簡単に実装ができます。
複数のアニメーションを生成する方法
html
1 2 3 |
<body> <div id="container"></div> </body> |
css
1 2 3 |
.mov{ position: absolute; } |
javacript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
$(function(){ var animationData={ "fps":30, "image":["common/image/fire.png"], "size":[89,115], "anime":{ "normal": [0, 48], } } var z=0; // MoviePngを複数表示 for (var i = 0; i < 10; i++) { // ユニークなidを持ったクラス生成 var uclass = "anm"+uid(); // 親クラスにアニメーション用divを追加 var anm=$(" <div class='mov "+uclass+"'></div> ").appendTo( "#container" ) $(anm).css({ 'left':Math.random()*10*40, 'top':Math.random()*7*50 , 'zIndex':z++ }); var mp= new qa.MoviePng( ("."+uclass ),animationData); mp.play("normal", Math.random()*48); } function uid(){ var r = Math.floor(Math.random()*1000) var t = new Date().getTime(); return r + t.toString(); } }); |
ソースの説明
ユニークなidを持ったクラスを作成
1 |
var uclass = "anm"+uid(); |
親のdivに対してアニメーション用のdivを追加する
1 2 3 |
var anm=$(" <div class='mov "+uclass+"'></div> ").appendTo("#container") |
divの座標と深度を設定
1 |
$(anm).css({ 'left':Math.random()*10*40, 'top':Math.random()*7*50 , 'zIndex':z++ }); |
生成したクラスをMoviePngインスタン化を行う
1 2 |
var mp= new qa.MoviePng( ("."+uclass ),animationData); mp.play("normal", Math.random()*48); |
これで完成したものがコチラ
コメントを残す