03-27-2010, 04:58 PM
Not to be mean, but why don't you post this at YoYo Games community forum? That's where a lot of GM8 programmers hang out.
Anyway, first off, in the Keyboard Check Events, you should add a place_free(x +/- =5) check before you have the sprite move +/- 5 pixels.
I think I see what you're trying to do, but the if !place_free(x+2,y) conditional could be causing problems. Keep your horizontal movement codes separate from your vertical (aka jumping) movement codes. If you want him to move at different speeds in the air (or not at all), then include that conditional with the left/right keyboard checks.
Also, y+2 IS NOT towards the top. y+2 is for falling. GameMaker has always been arranged from top-left to bottom-right, like so:
(0,0) (1,0) (2,0) (3,0)
(0,1) (1,1) (2,1) (3,1)
(0,2) (1,2) (2,2) (3,2)
(0,3) (1,3) (2,3) (3,3)
Anyway, first off, in the Keyboard Check Events, you should add a place_free(x +/- =5) check before you have the sprite move +/- 5 pixels.
I think I see what you're trying to do, but the if !place_free(x+2,y) conditional could be causing problems. Keep your horizontal movement codes separate from your vertical (aka jumping) movement codes. If you want him to move at different speeds in the air (or not at all), then include that conditional with the left/right keyboard checks.
Also, y+2 IS NOT towards the top. y+2 is for falling. GameMaker has always been arranged from top-left to bottom-right, like so:
(0,0) (1,0) (2,0) (3,0)
(0,1) (1,1) (2,1) (3,1)
(0,2) (1,2) (2,2) (3,2)
(0,3) (1,3) (2,3) (3,3)