coリ・ー・ン<2nd life

2007 09 23

JSTweener - JavaScript でモーショントゥイーンするライブラリ

JS でモーショントィーンするのに、JSTween というライブラリがあるのですが、一つ一つのモーションで setTimeout(func, 0) で回しててるため増えれば増えるほど重くなったり、style 設定が結構面倒だったり、一度に複数プロパティ登録ができなかったりしたので、自分でライブラリを作ってみました。ひっつき☆スターを JSTweener で動かしたら体感で全然速くなりました。

コード例ですが、ひっつきスターでのトゥイーン処理は

JSTweener.addTween(el.style, {
    time: tm,
    transitions: 'easeOutExpo',
    onComplete: function() { moveStar(el) },
    width: size,
    height: size,
    left: mousePoint.x + Math.random() * 100 - 50,
    top: mousePoint.y + Math.random() * 100 - 50
});

のように書けます。API はまんま Tweener。penner's easing 関数Tweener のを JS移植してるので、Tweener で使えるのはそのまま使うことが出来ます。

ただほんとにシンプルなメインの部分の処理しか書いてないので、アルファ(ブラウザによって CSS での書き方が異なるから)値をフェードアウト、なんかは onUpdate にコールバック登録して自前で処理を書かなくてはなりません。ただよく使いそうな top/left/height/width/marginXXXX などは何もせずとも値を変化できるので、使いどころによっては素で十分だったりします。

erandaeranda 2009/12/14 15:55 Why JSTweener is not workin with following doc type

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

secondlifesecondlife 2009/12/14 16:04 Do you set suffix?
JSTweener.addTween(el.style, {
height: 100,
suffix: 'px',
...

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

プログラミングRuby 第2版 言語編
Ruby を始めようと思う人から玄人まで身近に置いておきたい一冊
Ruby on Rails入門―優しいRailsの育て方
Rails 入門書の決定版!あのくまくまーの独特な解説ですんなり読める!