what's wrong with my lookAt and move forward code?

Posted by alaslipknot on Game Development See other posts from Game Development or by alaslipknot
Published on 2014-06-04T22:24:50Z Indexed on 2014/06/05 3:40 UTC
Read the original article Hit count: 190

Filed under:
|
|

so am still in the process of getting familiar with libGdx and one of the fun things i love to do is to make basics method for reusability on future projects, and for now am stacked on getting a Sprite rotate toward target (vector2) and then move forward based on that rotation the code am using is this :

    // set angle
   public void lookAt(Vector2 target) {

      float angle = (float) Math.atan2(target.y - this.position.y, target.x
            - this.position.x);
      angle = (float) (angle * (180 / Math.PI));

      setAngle(angle);

   }

   // move forward
   public void moveForward() {
      this.position.x += Math.cos(getAngle())*this.speed;
      this.position.y += Math.sin(getAngle())*this.speed;
   }

and this is my render method :

    @Override
   public void render(float delta) {
      // TODO Auto-generated method stub
      Gdx.gl.glClearColor(0, 0, 0.0f, 1);
      Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

      // groupUpdate();

      Vector3 mousePos = new Vector3(Gdx.input.getX(), Gdx.input.getY(), 0);
      camera.unproject(mousePos);
      ball.lookAt(new Vector2(mousePos.x, mousePos.y));
      //

      if (Gdx.input.isTouched()) {
         ball.moveForward();
      }

      batch.begin();
      batch.draw(ball.getSprite(), ball.getPos().x, ball.getPos().y, ball
            .getSprite().getOriginX(), ball.getSprite().getOriginY(), ball
            .getSprite().getWidth(), ball.getSprite().getHeight(), .5f,
            .5f, ball.getAngle());
      batch.end();
   }

the goal is to make the ball always look at the mouse cursor, and then move forward when i click, am also using this camera :

// create the camera and the SpriteBatch
  camera = new OrthographicCamera();
  camera.setToOrtho(false, 800, 480);

aaaand the result was so creepy lol enter image description here

Thank you

© Game Development or respective owner

Related posts about libgdx

Related posts about rotation