I want to make the little dude jump

Started by
1 comment, last by GameDev.net 24 years, 9 months ago
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

~ The opinions stated by this individual are the opinions of this individual and not the opinions of her company, any organization she might be part of, her parrot, or anyone else. ~
Advertisement
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.

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)

This topic is closed to new replies.

Advertisement