コード例 #1
0
        private void RenderFigureDead(Figure2DAnimationController controller, Vector2 centeredPosition)
        {
            if (!(controller.DieAnimationTime >= Figure2DAnimationController.IdleAnimationTime))
            {
                return;
            }

            if (controller.DieAnimationTime < Figure2DAnimationController.OverallDieAnimationDuration)
            {
                Game.SpriteBatch.Draw(_figureTexture,
                                      centeredPosition + _centeringOffset,
                                      new Rectangle(192, 224, 32, 32),
                                      Color.White * 0.5f, 0.0f, new Vector2(16), 1.0f, SpriteEffects.None, 0);
            }

            Game.SpriteBatch.Draw(_figureTexture,
                                  (controller.DieAnimationPosition).SnapToPixels(),
                                  new Rectangle(224, 224, 32, 32),
                                  Color.White,
                                  0.0f,
                                  new Vector2(16),
                                  1.0f,
                                  SpriteEffects.None, 0);

            if (controller.DieAnimationTime <= Figure2DAnimationController.OverallDieAnimationDuration)
            {
                var alpha = MathHelper.Clamp(((controller.DieAnimationTime - Figure2DAnimationController.IdleAnimationTime) * 3) /
                                             Figure2DAnimationController.DieAnimationDuration, 0, 1);

                Game.SpriteBatch.Draw(_figureTexture,
                                      new Rectangle((int)(centeredPosition.X - 16 + _centeringOffset.X), 0, 32, controller.YDistanceForDie - 7),
                                      new Rectangle(160, 224, 32, 32),
                                      Color.White * 0.5f * alpha);
            }
        }
コード例 #2
0
 private void RenderFigureAlive(Figure figure, Figure2DAnimationController controller)
 {
     Game.SpriteBatch.Draw(_figureTexture,
                           (figure.Position + _centeringOffset).SnapToPixels(),
                           _animationFrames[figure.Id - 1, (int)figure.Direction, controller.StepFrame],
                           Color.White,
                           0.0f,
                           new Vector2(FigureWidth * 0.5f, FigureHeight * 0.5f + 6),
                           1.5f,
                           SpriteEffects.None,
                           0);
 }