Example #1
0
 private void CreateFlipbookInstances()
 {
     FlipbookAnimationList.Clear();
     foreach (AnimationInstance fbI in AnimationCycle)
     {
         FlipbookAnimationList.Add(FlipbookAnimation.GetInstance(fbI));
     }
 }
Example #2
0
        public override void Draw(GameTime GameTime, SpriteBatch SpriteBatch)
        {
            FlipbookAnimation fbA = FlipbookAnimationList[currentAnimatedInstanceIndex];

            int currentFrameIndex = fbA.GetNextAnimationIndex(GameTime);

            if (fbA.IsLastFrame && AnimationCycle != null && AnimationCycle.Count > 1)
            {
                if (!repeatAnimationCycle)
                {
                    FlipbookAnimationList.Remove(fbA);
                    AnimationCycle.Remove(fbA.AnimationInstance);
                }

                currentAnimatedInstanceIndex = 0;
            }

            SourceRectangle = new Rectangle(currentFrameIndex % framesPerLine * SpriteWidth, currentFrameIndex / framesPerLine * SpriteHeight, SpriteWidth, SpriteHeight);
            base.Draw(GameTime, SpriteBatch);
        }