瀏覽代碼

Merge pull request #2440 from FunFetched/master

Don't trip AnimationEvents outside current range
David Catuhe 8 年之前
父節點
當前提交
4a9f20a7f6
共有 1 個文件被更改,包括 6 次插入1 次删除
  1. 6 1
      src/Animations/babylon.animation.ts

+ 6 - 1
src/Animations/babylon.animation.ts

@@ -653,7 +653,12 @@
             this.setValue(currentValue);
             // Check events
             for (var index = 0; index < this._events.length; index++) {
-                if (currentFrame >= this._events[index].frame) {
+                // Make sure current frame has passed event frame and that event frame is within the current range
+                // Also, handle both forward and reverse animations
+                if (
+                    (range > 0 && currentFrame >= this._events[index].frame && this._events[index].frame >= from) ||
+                    (range < 0 && currentFrame <= this._events[index].frame && this._events[index].frame <= from)
+                ){
                     var event = this._events[index];
                     if (!event.isDone) {
                         // If event should be done only once, remove it.