All pastes #498138 Raw Edit

Mine

public text v1 · immutable
·published 2007-05-20 06:37 UTC
rendered paste body
#region Using Statements
using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Storage;
#endregion

namespace SpaceCarWars
{
    class AnimatedSprite
    {
        private Vector2 position = new Vector2();
        private Vector2 velocity;
        private List<Texture2D> texturesList = new List<Texture2D>();
        private Vector2 textureSize = new Vector2(20,40); // Temp Position
        private Color color = Color.White;

        #region Props
        public Vector2 Position
        {
            get { return position; }
            set { position = value; }
        }

        public Vector2 Velocity
        {
            get { return velocity; }
            set { velocity = value; }
        }

        public Vector2 TextureSize
        {
            get { return textureSize; }
        }
        #endregion



        public void AddFrames(Texture2D textureInput)
        {
            this.texturesList.Add(textureInput);
        }


        private void IterateFrames(List<Texture2D> textures,SpriteBatch spriteBatch)
        {
            foreach (Texture2D texture in textures)
            {
                Vector2 positionVector = new Vector2(this.position.X, this.position.Y);
                Vector2 originVector = Vector2.Zero;
                Rectangle sourceRectangle = new Rectangle(0, 0, (int)this.textureSize.X, (int)this.textureSize.Y);

                spriteBatch.Draw(texture,           
                                positionVector,     
                                sourceRectangle,    
                                color,              
                                0.0f,              
                                originVector,      
                                1.0f,              
                                SpriteEffects.None, 
                                0.5f);  
            }
        }


        public void Draw(SpriteBatch spriteBatch)
        {
            IterateFrames(this.texturesList, spriteBatch);
        }
    }
}