[animate] update
This commit is contained in:
28
src/main/hw/animate/AnimateRunner.hx
Normal file
28
src/main/hw/animate/AnimateRunner.hx
Normal file
@@ -0,0 +1,28 @@
|
||||
package hw.animate;
|
||||
|
||||
import flash.events.Event;
|
||||
import flash.Lib;
|
||||
|
||||
@:provide class AnimateRunner {
|
||||
|
||||
private var animates:Array<IAnimate>;
|
||||
|
||||
public function new() {
|
||||
animates = [];
|
||||
Lib.current.stage.addEventListener(Event.ENTER_FRAME, _ -> update());
|
||||
}
|
||||
|
||||
private function update():Void {
|
||||
if (animates.length > 0) {
|
||||
var time = Date.now().getTime();
|
||||
animates = animates.filter(animate -> animate.update(time));
|
||||
}
|
||||
}
|
||||
|
||||
public function run(animate:IAnimate):Float {
|
||||
animates.push(animate);
|
||||
var time = Date.now().getTime();
|
||||
animate.update(time);
|
||||
return time;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user