I’ll try to answer both questions.
If you’re using ordinary blitzbasic collision methods, if you want a sphere<the player> to mount a box<a step>, you need to have the center of the sphere higher than the step. So, by increasing the sphere size, it can scale bigger and bigger things, katamari damacy style. However, a sphere can only mount a box if it can overcome whatever gravity you’re putting on it. So, a faster sphere would mean it scales faster. If it’s not fast enough, it won’t be able to scale at all.
Alternatively, you might be using the wrong collision method. You want one of the ones that allows sliding.
Jumping, however, is slightly more complicated.
Most thrown objects and jumping people tend to move in an arc through the air. Whether or not it’s realistic, this is how I do it.
I have a variable called something like YM#, standing for vertical momentum and Y#, which is the actual vertical coordinates for the object in question.
So, to jump, I declare YM#=50 or whatever power I want in the jump.
YM#=YM#-(millisecs()*how-slow-you-want-it-variable)
Now the part that really matters is this. Y=Y+(YM^2)
The ^2 part squares YM.
However, when YM<0 you need to do Y=Y-(YM^2) instead, as a negative number, when squared, becomes positive.
So that’s something like if YM<0 then Y=Y-(YM^2) else Y=Y+(YM^2)
Using a method like this, you’ll get a relatively sweet arc to your jumps.
Alternatively, you can just use the cos() command, start at 180 and count down to 0. Or start at 0 and count up to 180. That should give a reasonably smooth jump but it’s sort of complicated when you try to create bigger arcs as it requires faster movements and slower movement through the angles. For practicality, I don’t suggest this.
If you’re using ordinary blitzbasic collision methods, if you want a sphere<the player> to mount a box<a step>, you need to have the center of the sphere higher than the step. So, by increasing the sphere size, it can scale bigger and bigger things, katamari damacy style. However, a sphere can only mount a box if it can overcome whatever gravity you’re putting on it. So, a faster sphere would mean it scales faster. If it’s not fast enough, it won’t be able to scale at all.
Alternatively, you might be using the wrong collision method. You want one of the ones that allows sliding.
Jumping, however, is slightly more complicated.
Most thrown objects and jumping people tend to move in an arc through the air. Whether or not it’s realistic, this is how I do it.
I have a variable called something like YM#, standing for vertical momentum and Y#, which is the actual vertical coordinates for the object in question.
So, to jump, I declare YM#=50 or whatever power I want in the jump.
YM#=YM#-(millisecs()*how-slow-you-want-it-variable)
Now the part that really matters is this. Y=Y+(YM^2)
The ^2 part squares YM.
However, when YM<0 you need to do Y=Y-(YM^2) instead, as a negative number, when squared, becomes positive.
So that’s something like if YM<0 then Y=Y-(YM^2) else Y=Y+(YM^2)
Using a method like this, you’ll get a relatively sweet arc to your jumps.
Alternatively, you can just use the cos() command, start at 180 and count down to 0. Or start at 0 and count up to 180. That should give a reasonably smooth jump but it’s sort of complicated when you try to create bigger arcs as it requires faster movements and slower movement through the angles. For practicality, I don’t suggest this.