this.header = null
// this.frameTick = 1000 / 10; // default 0.1[sec]
this.frameTick = 1000; // default
+ this.timerId = null;
};
Flapp.prototype = {
play: function() {
// this.frameTick = 1000 / header.framerate;
this.frameTick = 1000;
this.movieClip.totalframes = header.framecount;
+ if (typeof this.timerId === 'number') {
+ clearInterval(this.timerId);
+ this.ticks();
+ }
},
run: function(dict, movieClip, canvas) {
console.debug("Flapp::run");
var flapp = this;
this.canvas = canvas;
- this.tick(flapp, this.dict, this.movieClip);
+ this.ticks();
},
- tick: function(flapp, dict, movieClip) {
- console.debug("Flapp::tick "+movieClip.currentFrame);
- setTimeout(flapp.tick, flapp.frameTick, flapp, dict, movieClip);
- if (movieClip.control(dict)) {
- movieClip.action();
- movieClip.render(flapp.canvas);
- movieClip.increment();
- }
+ ticks: function() {
+ var flapp = this;
+ var dict = this.dict;
+ var movieClip = this.movieClip;
+ var canvas = this.canvas;
+ console.debug("Flapp::ticks "+movieClip.currentFrame);
+ this.timerId = setInterval(function() {
+ if (movieClip.control(dict)) {
+ movieClip.action();
+ movieClip.render(canvas);
+ movieClip.increment();
+ }
+ }, flapp.frameTick);
}
};