/// <summary>
 /// Use this to Add more frame Animation's for this sprite.
 /// </summary>
 /// <param name="Key"></param>
 /// <param name="Animation"></param>
 public void AddAnimations(string Key, FrameAnimation Animation)
 {
     if (Animation != null)
     {
         animations.Add(Key, Animation);
     }
 }
        public virtual void Update(GameTime gameTime, Vector2 location)
        {
            if (!isAnimating)
            {
                return;
            }

            this.location = location;
            FrameAnimation anim = CurrentAnimation;

            if (anim == null)
            {
                return;
            }
            anim.Update(gameTime);
        }
        public void Draw(SpriteBatch spriteBatch)
        {
            FrameAnimation anim = CurrentAnimation;

            if (anim == null)
            {
                return;
            }



            //Might not be wise to put Begin here for everysprite but for now lets leave it here and test.
            spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend, null, null, null, null, Camera.TransFormMatrix);

            if (Shader != null)
            {
                shade();
            }
            //spriteBatch.Draw(texture, location, anim.CurrentRect, Color.White);
            spriteBatch.Draw(
                texture,
                location,
                anim.CurrentRect,
                TintColor,
                Rotation,
                new Vector2(anim.CurrentRect.Width / 2, anim.CurrentRect.Height / 2),
                scaleFactor,
                SpriteEffects.None,
                0.0f);

            //spriteBatch.Draw(texture,
            //    new Rectangle(
            //       (int)location.X, (int)location.Y, CurrentAnimation.CurrentRect.Width, CurrentAnimation.CurrentRect.Height),
            //        anim.CurrentRect, Color.White, Rotation,
            //    new Vector2(CurrentAnimation.CurrentRect.Width / 2, CurrentAnimation.CurrentRect.Height / 2), SpriteEffects.None, 0);

            spriteBatch.End();
            ///Some Test this Code and tell me.
        }
 /// <summary>
 /// Use this to Add more frame Animation's for this sprite.
 /// </summary>
 /// <param name="Key"></param>
 /// <param name="Animation"></param>
 public void AddAnimations(string Key, FrameAnimation Animation)
 {
     if(Animation != null)
         animations.Add(Key, Animation);
 }
 /// <summary>
 /// Add items to the Dicionary of Animations
 /// </summary>
 /// <param name="Key"></param>
 /// <param name="Animation"></param>
 public void AddAnimations(string Key, FrameAnimation Animation)
 {
     spriteAnimation.AddAnimations(Key, Animation);
 }
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.

            spriteBatch = new SpriteBatch(GraphicsDevice);
             Dictionary<int, string> Textures;
             Map = TileMap.ReadInMap(Content.RootDirectory + "/Map1.map", out Textures);
             string[] Strings = new string[Textures.Values.Count];
             Textures.Values.CopyTo(Strings, 0);
             foreach (TileLayer layer in Map.Layers)
             {
                 layer.AddTextures(Content, Strings);
             }

            nakedplayer = Content.Load<Texture2D>("Sprites/8_way_large");
            SpriteAnimation animation = new SpriteAnimation(nakedplayer);
            FrameAnimation Down = new FrameAnimation(10, nakedplayer.Width / 4, nakedplayer.Height / 2, 1, (nakedplayer.Width / 4)*0, 0, new Point(0, 0));
            FrameAnimation DownLeft = new FrameAnimation(10, nakedplayer.Width / 4, nakedplayer.Height / 2, 1, (nakedplayer.Width / 4) * 1, 0, new Point(0, 0));
            FrameAnimation Left = new FrameAnimation(10, nakedplayer.Width / 4, nakedplayer.Height / 2, 1, (nakedplayer.Width / 4) * 2, 0, new Point(0, 0));
            FrameAnimation UpLeft = new FrameAnimation(10, nakedplayer.Width / 4, nakedplayer.Height / 2, 1, (nakedplayer.Width / 4) * 3, 0, new Point(0, 0));
            FrameAnimation Up = new FrameAnimation(10, nakedplayer.Width / 4, nakedplayer.Height / 2, 1, (nakedplayer.Width / 4) * 0, (nakedplayer.Height / 2), new Point(0, 0));
            FrameAnimation UpRight = new FrameAnimation(10, nakedplayer.Width / 4, nakedplayer.Height / 2, 1, (nakedplayer.Width / 4 )* 1, (nakedplayer.Height / 2), new Point(0, 0));
            FrameAnimation Right = new FrameAnimation(10, nakedplayer.Width / 4, nakedplayer.Height / 2, 1, (nakedplayer.Width / 4) * 2, (nakedplayer.Height / 2), new Point(0, 0));
            FrameAnimation DownRight = new FrameAnimation(10, nakedplayer.Width / 4, nakedplayer.Height / 2, 1, (nakedplayer.Width / 4) * 3, (nakedplayer.Height / 2), new Point(0, 0));

            animation.AddAnimations("Down", Down);
            animation.AddAnimations("DownRight", DownLeft);
            animation.AddAnimations("Right", Left);
            animation.AddAnimations("UpRight", UpLeft);
            animation.AddAnimations("Up", Up);
            animation.AddAnimations("UpLeft", UpRight);
            animation.AddAnimations("Left", Right);
            animation.AddAnimations("DownLeft", DownRight);

            player = new Player(animation, new Vector2(200,200), 30f, 0);

            // TODO: use this.Content to load your game content here
        }
Example #7
0
 /// <summary>
 /// Add items to the Dicionary of Animations
 /// </summary>
 /// <param name="Key"></param>
 /// <param name="Animation"></param>
 public void AddAnimations(string Key, FrameAnimation Animation)
 {
     spriteAnimation.AddAnimations(Key, Animation);
 }