2
\$\begingroup\$

I'm learning LibGdx and I need some help with the camera.

Let's see, I'm making a Chu Chu Rocket! clon to start. I've loaded a TiledMap (10x10), and I've created an OrthographicCamera to show the map. This is my camera code, written in the Map class constructor, which is invoked in the create() method:

map = new TmxMapLoader().load("data/maps/" + filename);
renderer = new OrthogonalTiledMapRenderer(map, 1.0f/24.0f);     
camera = new OrthographicCamera();
camera.setToOrtho(false, 10, 10);

And this is the result, when I compile

Result

The problem is that the tiles I used in Tiled were squares. When I load, as you can see, they're rectangles. That's a problem for me.

I've read some things about resizing, changing aspect ratio, etc, but everithing was about doing it to fit various devices resolutions / screen sizes. So, my questions are:

  • How to define correctly the aspect ratio for a tiled map using a ortographic camera?
  • When I do that, the ratio will be correct for every device?
  • The elements which aren't the map (like the mice) would need to be also adjusted? How?

Thanks for your answers.

\$\endgroup\$
1
\$\begingroup\$

What your dealing with is an aspect ratio mismatch. Your trying to map an aspect ratio of 1 to an aspect ratio of 16:9 or 16 :10. That is why your tiles look stretched. Set your games resolution to a square aspect ratio like 300x300 if windowed. Or make your tiles about 160x90 pixels to look square at that resolution.

Topics of interest would be http://en.m.wikipedia.org/wiki/Aspect_ratio_(image) and http://en.m.wikipedia.org/wiki/Field_of_view_in_video_games.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.