Beispiel #1
0
        public void Update(GameTime gameTime)
        {
            _keyboardState = Keyboard.GetState();
            _time += gameTime.ElapsedGameTime;

            if (_keyboardState.IsKeyDown(Keys.Space) && _oldKeyboardState.IsKeyUp(Keys.Space) && _skippable)
                NextImage();

            switch (_imageState)
            {
                case TitleImageState.FadingIn:
                    if (_time >= _fadeSpeed)
                    {
                        _imageState = TitleImageState.FullAlpha;
                        _time = TimeSpan.Zero;
                        _currentAlpha = 1;
                    }
                    else
                        _currentAlpha = MathHelper.Lerp(0, 1, (float)_time.Ticks / (float)_fadeSpeed.Ticks);
                    break;

                case TitleImageState.FullAlpha:
                    if (_time >= _displayDuration)
                    {
                        _imageState = TitleImageState.FadingOut;
                        _time = TimeSpan.Zero;
                    }
                    break;

                case TitleImageState.FadingOut:
                    if (_time >= _fadeSpeed)
                        NextImage();
                    else
                        _currentAlpha = MathHelper.Lerp(1, 0, (float)_time.Ticks / (float)_fadeSpeed.Ticks);
                    break;
            }
            _oldKeyboardState = _keyboardState;
        }
Beispiel #2
0
 private void NextImage()
 {
     _time = TimeSpan.Zero;
     _currentImage++;
     _currentAlpha = 0;
     _imageState = TitleImageState.FadingIn;
     if (_currentImage >= _images.Count)
         Finished = true;
 }