2d Platformer physics

Hey guys,

Im a noob here so hopefully I have posted in the right place.

I am working on a Cobalt style platformer/shooter, I watched this: http://flashpunk.net/2011/12/episode-12-moving-jumping-and-physics-for-platformers/
, its flash but I was able to convert is easily, the only thing is I cant figure out how to handle collision & gravity for the play jumping onto platforms, the for-mentioned video only talks about colliding with the bottom of the window.

The only way I could think about doing it looping trough all of my platforms and checking if the play was intersecting with one and if it was not allowing it to travel in y++ any more.
I’m sure this is a terrible approach and there is a better/best-practice approach that I am missing.

Thanks JGO-ers.

Martin

Hehehe, you’re in luck, I just wrote a post explaining jumping in another thread.

For the collision, just check if the Y+Height-1 >= GroundY then set Y to GroundY-Height-2 :slight_smile:

Thanks ra4King,

Will try what you put in the other post, the velocity effect makes such a difference to games.

What I had until now was:

	if (Keyboard.isKeyDown(Keyboard.KEY_A)){
		inputX -= 1;
	}
		
	if (Keyboard.isKeyDown(Keyboard.KEY_D)){
		inputX += 1;
	}
	if (Keyboard.isKeyDown(Keyboard.KEY_SPACE)){
		jump();
	}
	
	
	//Update Controls
	v.x = playerSpeed * inputX;
	a.y = GRAVITY;
	
	//Apply Controls
	x = v.x;
	
	if (y+height > screenHeight){
		System.out.println("INTERSECTION ON Y");
		v.y = 0;
		y = screenHeight-height;
	}
	else{
		v.y += a.y;
		y += v.y;
	}

p.s V and A in my code are DIRTY!, they are classes that just contain:

public class A {
public float x;
public float y;
}