public Sheep() { CurrentFrame = 0; ElapsedTime = 0; LookDirectionLeft = false; IsBlack = false; _currentAnimation = AnimationManager.AnimationType.Idle; }
public void Play(AnimationManager.AnimationType animation) { if (_currentAnimation == AnimationManager.AnimationType.IdleBlinking && animation == AnimationManager.AnimationType.Idle) { return; } if (_currentAnimation != animation) { _currentAnimation = animation; CurrentFrame = 0; ElapsedTime = 0; } }
public void Update(GameTime gameTime) { ElapsedTime += gameTime.ElapsedGameTime.TotalMilliseconds; // adds elapsed time since the last frame if (ElapsedTime > AnimationManager.FRAMETIME) { CurrentFrame++; //wenn anzahl an maximalen frames erreicht ist, starte von 0 if (CurrentFrame == AnimationManager.Reference.TextureListSheep[_currentAnimation].FrameCount) { //blinking idle if (_currentAnimation == AnimationManager.AnimationType.IdleBlinking) { _currentAnimation = AnimationManager.AnimationType.Idle; } else if (_currentAnimation == AnimationManager.AnimationType.Idle) { var n = RandomNumber.Between(0, 100); if (n < 20) { Play(AnimationManager.AnimationType.IdleBlinking); } } if (_currentAnimation == AnimationManager.AnimationType.Dying) { CurrentFrame--; //don't loop dying } else { CurrentFrame = 0; } } ElapsedTime = 0; } }