Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void act(float delta) {
- super.act(delta);
- Rectangle playerRect = new Rectangle(getX(), getY(), getWidth(), getHeight());
- boolean grounded = false;
- List<Rectangle> solids = ((PlayScene)scene).getSolids();
- for (Rectangle rect: solids) {
- // Is rect just underneath the player?
- if (rect.overlaps(playerRect) && rect.y < playerRect.y) {
- grounded = true;
- break;
- }
- }
- if (grounded) {
- yVel = 0;
- } else {
- yVel -= fallAcceleration * delta;
- if (yVel < -maxFallSpeed) {
- yVel = -maxFallSpeed;
- }
- }
- // Check inputs
- boolean left = Gdx.input.isKeyPressed(Keys.LEFT),
- right = Gdx.input.isKeyPressed(Keys.RIGHT),
- jump = Gdx.input.isKeyPressed(Keys.UP);
- if ((left && right) || !(left || right)) {
- // Still
- animatedSprite.play("idle");
- } else if (left) {
- animatedSprite.play("run");
- animatedSprite.flip(true, false);
- setX(getX() - maxSpeed*delta);
- } else if (right) {
- animatedSprite.play("run");
- animatedSprite.flip(false, false);
- setX(getX() + maxSpeed*delta);
- }
- if (grounded && jump) {
- yVel = jumpSpeed;
- }
- setY(getY() + yVel*delta);
- }
Advertisement
Add Comment
Please, Sign In to add comment