赞
踩
using LuaInterface; using Spine.Unity; using static Spine.AnimationState; namespace LuaFramework { public class SpineAnimManager : Manager { private TrackEntryDelegate ac = null; /// <summary> /// 播放动画 /// </summary> /// <param name="sg"></param> /// <param name="func"></param> /// <param name="index"></param> /// <param name="animName"></param> /// <param name="loop"></param> public void PlayAnim(SkeletonGraphic skeleton, LuaFunction func,int trackIndex, string animName,bool loop) { if (skeleton != null) { PlayAnim(skeleton, trackIndex, animName, loop); ac = delegate { if (func != null) { func.Call(); } skeleton.AnimationState.Complete -= ac; ac = null; }; skeleton.AnimationState.Complete += ac; } } /// <summary> /// 停止动画播放 /// </summary> /// <param name="sg"></param> /// <param name="trackIndex"></param> public void StopAnim(SkeletonGraphic sg, int trackIndex, float mixDuration) { sg.AnimationState.SetEmptyAnimation(trackIndex, mixDuration); } /// <summary> /// 播放动画 /// </summary> /// <param name="sg"></param> /// <param name="index"></param> /// <param name="animName"></param> /// <param name="loop"></param> public void PlayAnim(SkeletonGraphic skeleton, int trackIndex, string animName, bool loop) { if (skeleton != null) { skeleton.AnimationState.SetAnimation(trackIndex, animName, loop); } } /* AnimationState.Start += CallBackOnStart; AnimationState.Interrupt += CallBackOnInterrupt ; AnimationState.End += CallBackOnEnd ; AnimationState.Dispose += CallBackOnDispose ; AnimationState.Complete += CallBackOnComplete ; */ } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。