[Sie-announce] SIEコード [2154] animate要素の修正を施した

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2010年 11月 18日 (木) 19:48:06 JST


Revision: 2154
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2154
Author:   dhrname
Date:     2010-11-18 19:48:06 +0900 (Thu, 18 Nov 2010)

Log Message:
-----------
animate要素の修正を施した

Modified Paths:
--------------
    branches/06x/sie.js

Modified: branches/06x/sie.js
===================================================================
--- branches/06x/sie.js	2010-11-18 10:22:44 UTC (rev 2153)
+++ branches/06x/sie.js	2010-11-18 10:48:06 UTC (rev 2154)
@@ -7039,7 +7039,7 @@
  *決して現在時刻ではない。要素のbeginイベントの発火したときが0sである。
  */
 /*float*/ SVGAnimationElement.prototype.getCurrentTime = function(){
-  return (this._currentFrame * 125 / 0.8);
+  return (this._currentFrame * 125 * 0.8);
 };
 /*float*/ SVGAnimationElement.prototype.getSimpleDuration = function(){
   if (!!!this._simpleDuration && !!!this._end && this._simpleDuration !== 0) {
@@ -7061,7 +7061,7 @@
 /*      try{*/
         var ntc = NAIBU.Time.currentFrame++;
         var nc = NAIBU.Clip;
-        var s = ntc * 125 / 0.8; //フレーム数ntcをミリ秒数sに変換
+        var s = ntc * 125 * 0.8; //フレーム数ntcをミリ秒数sに変換
         if (ntc > NAIBU.Time.Max) {
           clearInterval(NAIBU.stop);
         }
@@ -7085,7 +7085,6 @@
             }
             if (!!nci._frame) {
               nci._frame();
-              nci._currentFrame++;
             }
           }
           nci = null;
@@ -7094,7 +7093,7 @@
         stlog.add(e, 4157);
       }*/
         }),
-         64
+         1
       );
     }
  }
@@ -7127,7 +7126,7 @@
         tar._values[0] = ttr.getAttributeNS(null, attrName) || ttr.style.getPropertyValue(attrName);
       }
       if (!!tta) {
-        ttr[attrName].animVal = vi[attrName].baseVal;
+        tta.animVal = vi[attrName].baseVal;
         for (var i=0, tav=tar._values, tvli=tav.length;i<tvli;++i) {
           var vir = ttr.cloneNode(false); //仮の要素
           delete vir._tar;
@@ -7188,12 +7187,12 @@
       evt.initMutationEvent("DOMNodeInsertedIntoDocument", false, false, null, null, null, null, null);
       if (!!tta) {
         var base = tta.baseVal, tanim = tta.animVal;
-        var v1 = tar._valueList[ii].value, v2 = tar._valueList[ii+1].value;
+        var v1 = tar._valueList[ii].value, v2 = tar._valueList[ii+1].value, di = (tar._keyTimes[ii+1] - tar._keyTimes[ii]) * d;
         /*vを求める公式に関しては、SMIL2.0 Animation Moduleの単純アニメーション関数の項を参照
          * 3.4.2 Specifying the simple animation function f(t)
          *http://www.w3.org/TR/2005/REC-SMIL2-20050107/animation.html#animationNS-SpecifyingAnimationFunction
          */
-        var v = v1 + (v2-v1) * (tg-tar._keyTimes[ii]*d) / d;
+        var v = v1 + (v2-v1) * (tg-tar._keyTimes[ii]*d) / di;
         tanim.newValueSpecifiedUnits(tanim.unitType, v);
         tta.baseVal = tanim;
         tanim = null;




Sie-announce メーリングリストの案内
Back to archive index