public void PlayAnimation(string name, float speed)
 {
     if (currentAnim == null || currentAnim.GetName() != name || playState != PlayState.Playing || this.speed != speed)
     {
         ResetAnimation();
         SetAnimation(skeleton.GetAnimations().IndexOf(skeleton.GetAnimation(name)));
         SetSpeed(speed);
         SetPlayState(PlayState.Playing);
     }
 }
 public void PlayAnimation(int i, float speed)
 {
     if (i != -1)
     {
         Animation anim = skeleton.GetAnimation(i);
         PlayAnimation(anim.GetName(), speed);
     }
     else
     {
         SetAnimation(-1);
     }
 }
Esempio n. 3
0
        private static void SaveAnimation(Animation anim, XmlWriter writer)
        {
            writer.WriteStartElement(TOKEN_ANIMATION);

            writer.WriteAttributeString(TOKEN_NAME, anim.GetName());
            for (int i = 0; i < anim.GetTracks().Count; i++)
            {
                writer.WriteStartElement(TOKEN_ANIMATION_TRACK);
                writer.WriteAttributeString(TOKEN_BONE, anim.GetTrack(i).GetBone().Name);
                for (int j = 0; j < anim.GetTrack(i).frames.Count; j++)
                {
                    SaveKeyframe(anim.GetTrack(i).frames[j], writer);
                }
                writer.WriteEndElement();
            }
            writer.WriteEndElement();
        }