[Sie-announce] SIEコード [1444] フレーム処理をするために、setIntervalを利用した

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2009年 12月 2日 (水) 23:36:14 JST


Revision: 1444
          http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=1444
Author:   dhrname
Date:     2009-12-02 23:36:14 +0900 (Wed, 02 Dec 2009)

Log Message:
-----------
フレーム処理をするために、setIntervalを利用した

Modified Paths:
--------------
    branches/05x/055/sie.js

Modified: branches/05x/055/sie.js
===================================================================
--- branches/05x/055/sie.js	2009-11-30 11:42:20 UTC (rev 1443)
+++ branches/05x/055/sie.js	2009-12-02 14:36:14 UTC (rev 1444)
@@ -331,6 +331,17 @@
       } catch(e) {stlog.add(e,185);this.next();}
   } else { //全要素の読み込みが終われば
     _ie_svgfont();
+    if (NAIBU.Clip.length > 0) {
+      setInterval( (function(){
+          var ntc = NAIBU.Time.currentTime++;
+          var nc = NAIBU.Clip;
+          for (var i=0,ncli=nc.length;i<ncli;++i) {
+            nc[i]._frame(ntc);
+          }
+        }),
+        41
+      );
+    }
   }
   } catch(e) {stlog.add(e,293);this.onumber++;this.next();}
 };
@@ -2196,8 +2207,6 @@
     }
   } else if (parent.nodeName === "DIV") {
     s = new STText(parent, dummy, w, h);
-  } else if (parent.nodeName === "group") {
-    s = new STGroupElement(parent, dummy, w, h);
   } else if (parent.nodeName === "A") {
     s = new STAElement(parent, dummy);
   } else if (parent.nodeName === "image") {
@@ -2210,7 +2219,7 @@
   this.paint = s.paint;
   this.currentFrame = 0;
   this.attributeName = ele.getAttribute("attributeName").replace(/(fill|stroke)\-/, "&1");
-  this.begin = ele.getAttribute("begin");
+  this.begin = ele.getAttribute("begin") || "0ms";
   this.end = ele.getAttribute("end");
   this.dur = ele.getAttribute("dur");
   this.fill = ele.getAttribute("fill");
@@ -2226,7 +2235,7 @@
   var offset;
   try {
     var n = parseFloat(this.begin.match(/[\-\d\.]+(h|min|s|ms)/));
-    offset = (n !== void 0) ? n * this._unit[RegExp.$1] : 0;
+    offset = (!isNaN(n)) ? n * this._unit[RegExp.$1] : 0;
     if ( /(mouse|activ)/.test(this.begin) ) { //イベントがある場合
       var tar;
       if ( /\.\D/.test(this.begin) ) {
@@ -2241,7 +2250,7 @@
     }
     if (!this.dur) {
       var n = parseFloat(this.end.match(/[\-\d\.]+(h|min|s|ms)/));
-      offset = (n !== void 0) ? n * this._unit[RegExp.$1] : 0;
+      offset = (!isNaN(n)) ? n * this._unit[RegExp.$1] : 0;
       if ( /(mouse|activ)/.test(this.end) ) { //イベントがある場合
         var tar;
         if ( /\.\D/.test(this.end) ) {
@@ -2258,10 +2267,10 @@
   } catch(e) {stlog.add(e, 2239);}
 };
 STSetElement.prototype._unit = {
-  "h" : 1000,
-  "min" : 1000,
-  "s" : 1000,
-  "ms" : 1000
+  "h" : 2880000,
+  "min" : 48000,
+  "s" : 800,
+  "ms" : 0.8
 };
 //sは現在のフレーム数であることに気をつけること
 STSetElement.prototype._frame = function (/*int*/ s){




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