12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- #region File Description
- //-----------------------------------------------------------------------------
- // Animation.cs
- //
- // Microsoft XNA Community Game Platform
- // Copyright (C) Microsoft Corporation. All rights reserved.
- //-----------------------------------------------------------------------------
- #endregion
- using System;
- using Microsoft.Xna.Framework.Graphics;
- namespace Platformer
- {
- /// <summary>
- /// Represents an animated texture.
- /// </summary>
- /// <remarks>
- /// Currently, this class assumes that each frame of animation is
- /// as wide as each animation is tall. The number of frames in the
- /// animation are inferred from this.
- /// </remarks>
- class Animation
- {
- /// <summary>
- /// All frames in the animation arranged horizontally.
- /// </summary>
- public Texture2D Texture
- {
- get { return texture; }
- }
- Texture2D texture;
- /// <summary>
- /// Duration of time to show each frame.
- /// </summary>
- public float FrameTime
- {
- get { return frameTime; }
- }
- float frameTime;
- /// <summary>
- /// When the end of the animation is reached, should it
- /// continue playing from the beginning?
- /// </summary>
- public bool IsLooping
- {
- get { return isLooping; }
- }
- bool isLooping;
- /// <summary>
- /// Gets the number of frames in the animation.
- /// </summary>
- public int FrameCount
- {
- get { return Texture.Width / FrameWidth; }
- }
- /// <summary>
- /// Gets the width of a frame in the animation.
- /// </summary>
- public int FrameWidth
- {
- // Assume square frames.
- get { return Texture.Height; }
- }
- /// <summary>
- /// Gets the height of a frame in the animation.
- /// </summary>
- public int FrameHeight
- {
- get { return Texture.Height; }
- }
- /// <summary>
- /// Constructors a new animation.
- /// </summary>
- public Animation(Texture2D texture, float frameTime, bool isLooping)
- {
- this.texture = texture;
- this.frameTime = frameTime;
- this.isLooping = isLooping;
- }
- }
- }
|