| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #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 Platformer2D
- {
- /// <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
- {
- // Assume square frames.
- get { return Texture.Width / FrameHeight; }
- }
- /// <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;
- }
- }
- }
|