Ejemplo n.º 1
0
  public void update(long deltaTime) {
    timePassed += deltaTime;

    // Objektet lever bara i 5 sekunder
    if (timePassed >= 5000) {
      PhysicsEngine.getPhysicsEngine().getCollisionObjects().remove(this);
      PhysicsEngine.getPhysicsEngine().removePhysicsObject(this);
      Renderer.getRenderer().getSprites().remove(sprite);
      Renderer.getRenderer().getSprites().remove(shadow);
      gameListener.setUpdateCollidables(true);
    }

    if (!gravity) {
      shadow.setXPos(xPos + 5);
      shadow.setYPos(yPos + 5);
    } else {
      if (shadow.getYPos() >= landingY + 5) shadow.setYPos(landingY + 5);
      else shadow.setYPos(shadow.getYPos() + yVel * 3 * (deltaTime / 1000.0));

      xPos += (xVel * (deltaTime / 1000.0));
      yPos += (yVel * (deltaTime / 1000.0));

      xVel += (-1 * (xVel / 100));

      if (yPos > landingY) {
        yPos = landingY;
        this.setGravity(false);
        xVel = 0;
        yVel = 0;
      }
    }

    boundingBox.setLocation((int) (xPos), (int) (yPos));

    if (sprite != null) sprite.updatePos(xPos, yPos);
  }