title: making a smooth jump in libGDX
body: <p>i want to create a jump of my player that is smooth it goes up then down
  its a 2D side scroller like Mario</p>
  
  <p>iv'e tried wait and  make jumps slow by using a lot of steps and i cant figure it out</p>
  
  <p>player control class:</p>
  
  <pre><code>package com.mygdx.game;
  
  import java.lang.Thread.State;
  
  import com.badlogic.gdx.Gdx;
  import com.badlogic.gdx.Input.Keys;
  import com.badlogic.gdx.graphics.g2d.Sprite;
  import com.badlogic.gdx.graphics.g2d.TextureRegion;
  import com.badlogic.gdx.math.Vector2;
  
  
  @SuppressWarnings("unused")
  public class PlayerController {
      static int speed = 1;
      public static int jump = 0;
  
      static void keyInput() {
          jump++;
          if (Gdx.input.isKeyPressed(Keys.A)) {
              main.playerX += speed;
              main.backgroundSpriteX += speed;
          }
          if (Gdx.input.isKeyPressed(Keys.D)) {
              main.playerX -= speed;
              main.backgroundSpriteX -= speed;
          }
          if (Gdx.input.isKeyPressed(Keys.W)) {
               //this is where i want to be able to jump
          }
      }  
      static void Controller() {
  
  
          main.player = new Sprite(main.texture);
          main.playerX = (main.canvisWidth * 0);
          main.playerY = (main.canvisHeight * 0); //can be 0
      }
  }
  </code></pre>
  
  <p>main class:</p>
  
  <pre><code>package com.mygdx.game;
  
  import com.badlogic.gdx.ApplicationListener;
  import com.badlogic.gdx.Gdx;
  import com.badlogic.gdx.graphics.GL20;
  import com.badlogic.gdx.graphics.Texture;
  import com.badlogic.gdx.graphics.g2d.Sprite;
  import com.badlogic.gdx.graphics.g2d.SpriteBatch;
  
  
  public class main implements ApplicationListener {
      public static final int backgroundSpriteY = 0;
      public static final int backgroundSprite2Y = 0;
      public static int canvisWidth = 800;
      public static int canvisHeight = 480;
      public static int backgroundSpriteX = 0;
      public static Texture texture;
      public static int backgroundSprite2X = -canvisWidth;
      public static Sprite player;
      public static int playerX;
      public static int playerY;
      static SpriteBatch spriteBatch;
      static int Jumpframes = 0;
      private double playerSize = .4;
  
      public void create() {
          WorldObjects.shapeRender.setAutoShapeType(true);
          spriteBatch = new SpriteBatch();
          texture = new Texture(Gdx.files.internal("imageedit_3_3813241913.png"));
          PlayerController.Controller();
          WorldSetup.start();
          player.setSize((float) (player.getWidth() * playerSize), (float) (player.getHeight() * playerSize));
      }
  
      public void render() {
          Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
          PlayerController.keyInput();
          WorldController.Scroll();
          spriteBatch.begin();
          spriteBatch.draw(WorldSetup.backgroundTexture, backgroundSpriteX, backgroundSpriteY);
          spriteBatch.draw(WorldSetup.backgroundTexture2, backgroundSprite2X, backgroundSprite2Y);
          spriteBatch.draw(texture, playerX, playerY, player.getWidth(), player.getHeight());
          spriteBatch.end();
          WorldSetup.WorldRender();
          //Jumpframes++;
      }
  
  
      public void resize(int width, int height) {
      }
  
      public void pause() {
      }
  
      public void resume() {
      }
  
      public void dispose() {
      }
  
  }
  </code></pre>
  
  <p>i want to have a slow jump like a Mario sort of jump and i cant seem to create a slow/smooth jump</p>
  
  <p>I’d like 20 frame jump going up 30 pixels starting fast and slowing down</p>