[[JavaScript/Library/script.aculo.us>http://www.seakinfo.com/blog/]]
 [[JavaScript/Library/script.aculo.us]]
 
 &pgid();
 
 #contents();
 
 ** transition [#fa062863]
 transitionの説明です。
 Effectのモーションを制御します。
 Core Effectsのoptionsに指定します。
 関数なので自分で作って指定することができます。
 
 *** 定義 [#v6802363]
  transition = function(pos)
 *** 引数 [#d9f7ee22]
 pos モーション開始からモーション終了までの合計時間に対する経過時間の割合。つまりtime/totaltimeです。範囲は0~1です。
 JSTweenerの引数t/dに相当します。
 *** 戻り値 [#f4726959]
 初期値から目的値までの差分に対する現在値の割合を0~1で返します。
 JSTweenerの戻り値をrとするとJSTweenerの引数c,bを使用して(r-b)/cで表せます。
 (JSTweenerの戻り値は初期値を含めた最終的な値を返すため。script.aculo.usはこの処理はupdate()内で行う。)
 
 #blikimore
 
 *** サンプル [#ia2dbabe]
 JSTweenerのeaseOutBounceを移植してみます。
 オリジナル:
  easeOutBounce: function(t, b, c, d) {
    if((t/=d) <(1/2.75)) {
      return c*(7.5625*t*t) + b;
    } else if(t <(2/2.75)) {
      return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
    } else if(t <(2.5/2.75)) {
      return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
    } else {
      return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
    }
  }
 &br;
 script.aculo.us用:
  easeOutBounce: function(pos) {
    if(pos < (1/2.75)) {
      return (7.5625*pos*pos);
    } else if(pos < (2/2.75)) {
      return (7.5625*(pos-=(1.5/2.75))*pos + .75);
    } else if (pos < (2.5/2.75)) {
      return (7.5625*(pos-=(2.25/2.75))*pos + .9375);
    } else {
      return (7.5625*(pos-=(2.625/2.75))*pos + .984375);
    }
  }
 
 
 
 // #blikifooter(進地)
 
 tag: [[Effects>http://www.seakinfo.com/blog/]], [[JavaScript>http://www.seakinfo.com/blog/]], [[Tween>http://www.seakinfo.com/blog/]]
 tag: [[Effects>tag/Effects]], [[JavaScript>tag/JavaScript]], [[Tween>tag/Tween]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

アークウェブのサービスやソリューションはこちら