浏览代码

Curve: Support loops on getSum()

trethaller 6 年之前
父节点
当前提交
6a446887fb
共有 1 个文件被更改,包括 7 次插入1 次删除
  1. 7 1
      hrt/prefab/Curve.hx

+ 7 - 1
hrt/prefab/Curve.hx

@@ -203,7 +203,13 @@ class Curve extends Prefab {
 		return y;
 	}
 
-	public function getSum(time: Float) {
+	public function getSum(time: Float) : Float {
+		var duration = keys[keys.length-1].time;
+		if(loop && time > duration) {
+			var cycles = Math.floor(time / duration);
+			return getSum(duration) * cycles + getSum(time - cycles);
+		}
+
 		var sum = 0.0;
 		for(ik in 0...keys.length) {
 			var key = keys[ik];