making my player sprite land on top of my platform sprite

Posted by Stone on Stack Overflow See other posts from Stack Overflow or by Stone
Published on 2011-03-08T04:20:20Z Indexed on 2011/03/14 16:10 UTC
Read the original article Hit count: 354

Filed under:
|
|

Hi, in my XNA game(im fairly new to XNA by the way) i would like to have my player sprite land on top of a platform. i have a player sprite class that inherits from my regular sprite class, and the regular sprite class for basic non playable sprite stuff such as boxes, background stuff, and platforms. However, i am unsure how to implement a way to make my player sprite land on a platform.

My player Sprite can jump and move around, but i dont know where and how to check to see if it is on top of my platform sprite.

My player sprites jump method is here

 private void Jump()
    {

        if (mCurrentState != State.Jumping)
        {

            mCurrentState = State.Jumping;


            mStartingPosition = Position;

            mDirection.Y = MOVE_UP;

            mSpeed = new Vector2(jumpSpeed, jumpSpeed);

        }

    }

mStartingPosition is player sprites starting position of the jump, and Position is the player sprites current position. I would think that my code for checking to see whether my player sprite is on top of my platform sprite. I am unsure how to reference my platform sprite inside of the playersprite class and inside of the jump method.

i think it should be something like this

   //platformSprite.CollisonBox would be the rectangle around the platform, but im not 
    //sure how to check to see if player.Position is touching any point     
    //on platformSprite.CollisionBox
if(player.Position == platformSprite.CollisionBox)
    {
        player.mDirection = 0;

    }

Again im pretty new to programming and XNA, and some of this logic i dont quite understand so any help on any of it would be greatly appreciated:D

Thanks

© Stack Overflow or respective owner

Related posts about c#

Related posts about game-development