objList.value = this.begin = eventOffset + base("$frame").currentFrame;\r
endList.value = this.begin + this.activeTime;\r
this.isResolved = true;\r
- console.log(base("$frame").currentFrame, this.$list);\r
-\r
};\r
this.eventOffset = eventOffset;\r
if (this.repeat > 0) {\r
$frame.addLine(frame.$list.init());\r
/*beginElementメソッドを追加*/\r
function eleMethod (obj, eventName) {\r
- return (obj.string !== "indefinite") ? function(){}\r
+ /*objListのvalueプロパティはあとで書き換えられる(イベントの場合のみ)*/\r
+\r
+ return \r
+ };\r
+ \r
+ /*beginElementメソッドを追加*/\r
+ var objList = frame.$list.addList(Number.MAX_VALUE),\r
+ /*endListのvalueプロパティには、活動継続フレーム数と開始フレーム数を足したものが入る*/\r
+ endList = frame.$list.addEndList(Number.MAX_VALUE);\r
+ ele.beginElement = (frame.string !== "indefinite") ? function(){}\r
: function() {\r
+ objList.value = frame.begin = base("$frame").currentFrame;\r
+ endList.value = frame.begin + frame.activeTime;\r
+ frame.isResolved = true;\r
var evt = this.ownerDocument.createEvent("MouseEvents");\r
- evt.initMouseEvent(eventName + "Event" ,true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, this);\r
+ evt.initMouseEvent("beginEvent" ,true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, this);\r
this.dispatchEvent(evt);\r
};\r
- };\r
- ele.beginElement = eleMethod(frame, "begin");\r
/*endElementメソッドを追加*/\r
- ele.endElement = eleMethod(frame.$activate.end || {}, "end");\r
+ var endFrame = frame.$activate.end || {};\r
+ ele.endElement = (endFrame.string !== "indefinite") ? function(){}\r
+ : function() {\r
+ if (frame.isResolved) {\r
+ endList.value = frame.begin + frame.activeTime;\r
+ endFrame.isResolved = true;\r
+ var evt = this.ownerDocument.createEvent("MouseEvents");\r
+ evt.initMouseEvent("endEvent" ,true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, this);\r
+ this.dispatchEvent(evt);\r
+ }\r
+ };\r
/*setFrameメソッドを使ったときの、再帰スタックの使いすぎを防ぐため*/\r
frame.timelines = [];\r
begin = ele = void 0;\r