Post your code, that will be helpful.
I've provided an example platform that handles collisions without getting stuck:
xpos = 0
ypos = 0
load image {player image here},1 //player image (100 x 100 image for my example)
load image {platform image here},2 //platform image (100 x 100 image for my example)
set sprite 1,1,1 //this prevents a trail by your character, you need to use it for any moving sprite
sprite 2,100,350,2 //this set of instructions
sprite 3,200,300,2 //creates platforms
sprite 4,300,250,2 //for your level(as an example)
do
time = timer()
if time mod 3 = 0 and (ypos + 1 < 400) //this snippet was added so that a floor is made at 400
ypos = ypos + 1
endif
for platformcheck = 2 to 4
if Abs(xpos - sprite x(platformcheck)) < sprite width(platformcheck) and Abs(ypos - sprite y(platformcheck)) < sprite height(platformcheck)
ypos = ypos - 1 //this part checks for any kind of collision and shunts the character up. This is realistic if the guy lands on top of the platform, but not in any
//other direction, I can demonstrate how to get round this if you like.
endif
next platformcheck
if rightkey() = 1 //handles movement to the right
xpos = xpos + 1
endif
if leftkey () = 1 //handles movement to the left
xpos = xpos - 1
endif
if upkey() = 1 //this allows the character to start boosting (note, gravity affects him far less during this time, and unrealistic
ypos = ypos - 3 //because he can keep jumping while above the ground, how you handle this is up to you.
endif //I can demonstrate how to get around this if you like.
sprite 1,xpos,ypos,1
loop
This system only works for platforms which are boxes in nature, if you have sphere drawings, it gets trickier!