protected override void Update(GameTime gameTime) { // update the manager manager.Update(gameTime); // every 2.5 seconds, play a beep sound if (TimeHelpers.ElapsedMilliSeconds(_lastBeepSoundTime, gameTime) > 2500) { _lastBeepSoundTime = gameTime.TotalGameTime; manager.AddTag(_soundsCategory, "beep", true, 500); } // every 6 seconds, play a blaster sound if (TimeHelpers.ElapsedMilliSeconds(_lastBlasterSoundTime, gameTime) > 6000) { _lastBlasterSoundTime = gameTime.TotalGameTime; manager.AddSoundTag(_soundsCategory, "blast", true, 500); } base.Update(gameTime); }
/// <summary> /// Updates the given gameTime. /// </summary> /// /// <param name="gameTime"> The game time. </param> /// /// <seealso cref="Velentr.Sprite.Sprites.Base.VelentrSprite.Update(GameTime)"/> public override void Update(GameTime gameTime) { if (_currentFrameStartTime == TimeSpan.Zero) { _currentFrameStartTime = gameTime.TotalGameTime; } // if we've changed animations, set us to the new animation and reset the old one if (!_currentAnimation.Equals(CurrentAnimationName)) { Animations[_currentAnimation].Reset(); _currentFrameStartTime = gameTime.TotalGameTime; _currentAnimation = CurrentAnimationName; } // update the new animation frame as required if (TimeHelpers.ElapsedMilliSeconds(_currentFrameStartTime, gameTime.TotalGameTime) > CurrentAnimation.CurrentFrame.DurationMilliseconds) { CurrentAnimation.IncrementFrameId(); _currentFrameStartTime = gameTime.TotalGameTime; } }
protected override void Update(GameTime gameTime) { manager.Update(gameTime); var current = Keyboard.GetState(); if (current.IsKeyDown(Keys.Left) && lastState.IsKeyUp(Keys.Left)) { var id = ((int)currentState) - 1; if (id < 0) { id = Enum.GetNames(typeof(DevStates)).Length - 1; } var last = currentState; currentState = (DevStates)id; lastMovingSpriteUpdate = gameTime.TotalGameTime; ChangeState(currentState, last); } else if (current.IsKeyDown(Keys.Right) && lastState.IsKeyUp(Keys.Right)) { var id = ((int)currentState) + 1; if (id >= Enum.GetNames(typeof(DevStates)).Length) { id = 0; } var last = currentState; currentState = (DevStates)id; lastMovingSpriteUpdate = gameTime.TotalGameTime; ChangeState(currentState, last); } else if (current.IsKeyDown(Keys.Up) && lastState.IsKeyUp(Keys.Up)) { manager.AutoTextureAtlasBalancingEnabled = !manager.AutoTextureAtlasBalancingEnabled; } lastState = current; if (currentState == DevStates.AnimatedMovingSpriteTesting && TimeHelpers.ElapsedMilliSeconds(lastMovingSpriteUpdate, gameTime.TotalGameTime) > 1000) { var changes = GetRandomChanges(); animatedSprite2.Position = changes.Item1; animatedSprite2.Rotation = changes.Item2; lastMovingSpriteUpdate = gameTime.TotalGameTime; } if (currentState == DevStates.SimpleMovingSpriteTesting && TimeHelpers.ElapsedMilliSeconds(lastMovingSpriteUpdate, gameTime.TotalGameTime) > 1000) { var changes = GetRandomChanges(); sprite2.Position = changes.Item1; sprite2.Rotation = changes.Item2; lastMovingSpriteUpdate = gameTime.TotalGameTime; } if (currentState == DevStates.CompositeMovingSpriteTesting && TimeHelpers.ElapsedMilliSeconds(lastMovingSpriteUpdate, gameTime.TotalGameTime) > 1000) { var changes = GetRandomChanges(); compositeSprite2.Position = changes.Item1; compositeSprite2.Rotation = changes.Item2; lastMovingSpriteUpdate = gameTime.TotalGameTime; } if (currentState == DevStates.CompositeMovingAnimatedSpriteTesting && TimeHelpers.ElapsedMilliSeconds(lastMovingSpriteUpdate, gameTime.TotalGameTime) > 1000) { var changes = GetRandomChanges(); compositeAnimatedSprite2.Position = changes.Item1; compositeAnimatedSprite2.Rotation = changes.Item2; lastMovingSpriteUpdate = gameTime.TotalGameTime; } base.Update(gameTime); }