diff --git a/SpineViewer/Controls/SpinePreviewer.cs b/SpineViewer/Controls/SpinePreviewer.cs index f862968..9b134a0 100644 --- a/SpineViewer/Controls/SpinePreviewer.cs +++ b/SpineViewer/Controls/SpinePreviewer.cs @@ -619,7 +619,7 @@ namespace SpineViewer.Controls lock (SpineListView.Spines) { foreach (var spine in SpineListView.Spines) - spine.Track0Animation = spine.Track0Animation; // TODO: 多轨道重置 + spine.ResetAnimationsTime(); } } } @@ -631,7 +631,7 @@ namespace SpineViewer.Controls lock (SpineListView.Spines) { foreach (var spine in SpineListView.Spines) - spine.Track0Animation = spine.Track0Animation; // TODO: 多轨道重置 + spine.ResetAnimationsTime(); } } IsUpdating = true; diff --git a/SpineViewer/Spine/Spine.cs b/SpineViewer/Spine/Spine.cs index 9e2863c..96eaf0c 100644 --- a/SpineViewer/Spine/Spine.cs +++ b/SpineViewer/Spine/Spine.cs @@ -315,6 +315,18 @@ namespace SpineViewer.Spine /// public abstract float GetAnimationDuration(string name); + /// + /// 重置所有轨道上的动画时间 + /// + public void ResetAnimationsTime() + { + lock (_lock) + { + foreach (var i in getTrackIndices()) + setAnimation(i, getAnimation(i)); + } + } + #endregion #region 属性 | [4] 调试