Archived

This topic is now archived and is closed to further replies.

Guest Anonymous Poster

I want to make the little dude jump

Recommended Posts

felisandria    739
To fall, you need to have your tiles designated as "solid" and "not solid". When your character is over a "not solid" tile, you move him in the negative y direction while moving him in the x direction according to key presses (assuming you're using key presses to control) as usual. Note that this is the mario-specific way to do things, some games don't allow you to change the direction of your fall, they just calculated the angle of fall when you hit the edge and drop you that way.
For jumping it's more or less the same idea as falling, except for the fact that you go in the positive y direction until you reach a certain height, then you go in the negative y direction until you are back on a "solid" tile. Make sure that the positive amount of y you jump is relative to your starting y, otherwise you will be unable to jump over a certain height regardless of where you are on screen if you do it relative to a set screen bottom, or if you do it relative to the "solid" tile you are currently over your character will get a strange tendency to float up stairs.

Hope this helps, g'luck
-fel

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
Hi
I am trying to make a mario bros style game using DirectX. All is going fine except I am having trouble making my little character jump and fall again.

Any help would be cool.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
Maybe you want a simple gravity thing.

your character will probably already have some sort of variable storing the X position & the Y position. What it now needs, is a
a velocity variable for the Y axis.

When you update the sprite's position, add the value of the Y velocity (YV) to the Y position. If YV is 0, the sprite isn't rising or falling. If YV < 0, the sprite is
rising, and if YV > 0 the sprite is falling.

If the user presses jump, you just set YV to
a negative value, and the little dude rises.

In order for him to fall back to earth again,
you define another number for gravity, which is smaller (way smaller) than the jump velocity.

Now, just after you add YV to the Y position
of your sprite, add the gravity value to YV.

Important: when your little dude is standing on solid objects, always reset YV to 0, or he will fall off any edges at about 10 billion miles per hour.

simple? It's more simple than I make out. (I only figured it out last night myself so I can't explain it very well)

Share this post


Link to post
Share on other sites