1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| public void SetAnimation(string _animationName, int _frame) { var skeletonData = skeleton.skeleton.Data;
var state = skeleton.AnimationState; Spine.Animation animationToUse = !string.IsNullOrEmpty(_animationName) ? skeletonData.FindAnimation(_animationName) : null; if (animationToUse != null) { var trackEntry = state.GetCurrent(0); if (trackEntry == null || trackEntry.Animation.Name != _animationName || trackEntry.IsComplete && !trackEntry.Loop) trackEntry = state.SetAnimation(0, animationToUse, false); else trackEntry.Loop = false;
{ trackEntry.TimeScale = 0; trackEntry.TrackTime = Mathf.Lerp(0, trackEntry.AnimationEnd - trackEntry.AnimationStart, _frame / 100f); } } else state.ClearTrack(0); }
|