Example #1
0
        public void Collision(GameTime gameTime,Vector2 changeVector, Game1 game)
        {
            Vector2 playerVect = ((Game1)this.Game).GetPlayer().Position;
               if (RenderTarget2DSample.Collision.CornerDetection(
            (int)(Position.X + changeVector.X), (int)(Position.Y - changeVector.Y), 32, 32,
            (int)playerVect.X + 5 , (int)playerVect.Y + 2, 22, 60))
               {

               // ----------------------------------------------------------------------------------
               //         Detect for going down

               if (RenderTarget2DSample.Collision.CornerDetection(
                (int)(Position.X + changeVector.X), (int)(Position.Y - changeVector.Y), 32, 32,
                (int)(playerVect.X + 12), (int)(playerVect.Y + 55), 8, 3))

               {
            game.GetPlayer().collisionInDirection.downColliding = true;
            game.GetPlayer().CanJump = true;
               }
               else
               {
            game.GetPlayer().collisionInDirection.downColliding = game.GetPlayer().collisionInDirection.downColliding | false;
               }

               // -----------------------------------------------------------------------------------
               //          Detect for going Left

               if (RenderTarget2DSample.Collision.CornerDetection(
                (int)(Position.X + changeVector.X), (int)(Position.Y - changeVector.Y), 32, 32,
                (int)(playerVect.X), (int)(playerVect.Y + 20), 4, 24))

               {
               game.GetPlayer().collisionInDirection.leftColliding = true;
               }
               else
               {
               game.GetPlayer().collisionInDirection.leftColliding = game.GetPlayer().collisionInDirection.leftColliding | false;
               }

               // -----------------------------------------------------------------------------------
               //           Detect for going right

               if (RenderTarget2DSample.Collision.CornerDetection(
                (int)(Position.X + changeVector.X), (int)(Position.Y - changeVector.Y), 32, 32,
                (int)(playerVect.X + 28), (int)(playerVect.Y + 20), 4, 24))
               {
               game.GetPlayer().collisionInDirection.rightColliding = true;
               }
               else
               {
               game.GetPlayer().collisionInDirection.rightColliding = game.GetPlayer().collisionInDirection.rightColliding | false;

               }

               // -----------------------------------------------------------------------------------
               //           Detect for going up

               if (RenderTarget2DSample.Collision.CornerDetection(
                (int)(Position.X + changeVector.X), (int)(Position.Y - changeVector.Y), 32, 32,
                (int)(playerVect.X + 5), (int)(playerVect.Y), 22, 5))
               {
               game.GetPlayer().collisionInDirection.upColliding = true;
               }
               else
               {
               game.GetPlayer().collisionInDirection.upColliding = game.GetPlayer().collisionInDirection.upColliding | false;
               }
               }
               else
               {
             //  No Collision at all
               }
        }