2013-05-07 46 views
0

我正在用libgdx开发一款游戏。我有一个三星注入4克,在我的电脑游戏看起来很大,但在我的手机看起来我想看的方式。在android中的应用程序的不同外观?

但是,当我在Eclipse上的Android机模拟器运行应用程序,它看起来像我的电脑上:大

我使用API​​_7,我不明白为什么。我的角色的大小是128px,64px。我使用广泛的一面,当我使用libgdx创建舞台时,我放置了这个。

stage = new Stage(Gdx.graphics.getWidth(),Gdx.graphics.getHeight(),true); 
+2

如果Resoltion较高,你的角色会变得更小,因为你的舞台总是有最大分辨率,但你的角色仍然保持其大小。例如调整角色和调整大小的阶段,看起来应该是一样的。否则你需要提供更多信息,以便我们可以帮助你。 – BennX 2013-05-07 07:55:13

+0

好吧,我在photoshop上制作了我的角色,它有128x64 pxeles,但我没有改变他的尺寸,我只是使用默认尺寸,你的意思是我必须改变他的尺寸,在所有screans上看起来相似? – user1431866 2013-05-07 14:04:18

+0

是的。如果屏幕更大,分辨率更高,则无法保持128x64。那么确定你可以但它的确比你小。所以你需要根据屏幕的分辨率调整角色的大小。 – BennX 2013-05-07 14:16:28

回答

1

如果Resoltion较高的性格就会小一些,因为你的舞台总是最大分辨率而是你的性格仍然停留在它的大小。例如调整角色和调整大小的阶段,看起来应该是一样的。否则你需要提供更多的信息,所以我们可以帮助

一个小例子会。如果你的分辨率是1280x640,你的字符就是屏幕的10%吧?现在想象的分辨率将是640x320。你的角色将是屏幕的20%。所以你需要把它缩小到在较小的屏幕上具有相同的比例。

在更大的一个,你需要使它的比例相同。使用

@Override 
    public void resize(int width, int height) { 
..... //resize here depending on the width and the height 
    } 

在您的屏幕上调整大小。我会建议你使用OrthographicCamera,你给你的舞台stage.setCamera(cam);。所以你只需要在调整大小时改变camera viewport,你的舞台确实合适。但保持跟踪aspect_ratio



你甚至可以开始与固定的分辨率工作。所以你有一个解决你的工作,其余完成你的相机zoom
要获得固定的分辨率,请使用相机放大和缩小以始终在screen上具有整个分辨率。这取决于您的屏幕的分辨率。因此,如果分辨率较小(显示游戏的屏幕),则缩小以显示整个游戏区域。否则你放大,直到在视口边缘有一个边缘(这似乎是困难的东西)好吧,看起来这是怎么回事?

@Override 
    public void resize(int width, int height) { 
     Gdx.app.log("Screen", "Resize screen: " + getName()); 
     cam.viewportHeight = height; 
     cam.viewportWidth = width; 
     if (Config.VIRTUAL_VIEW_WIDTH/cam.viewportWidth < Config.VIRTUAL_VIEW_HEIGHT 
       /cam.viewportHeight) { 
      cam.zoom = Config.VIRTUAL_VIEW_HEIGHT/cam.viewportHeight; 
     } else { 
      cam.zoom = Config.VIRTUAL_VIEW_WIDTH/cam.viewportWidth; 
     } 
     cam.update(); // update it ;) 
    } 

这实际上就是一切。 VIRTUAL_VIEW_WIDTHVIRTUAL_VIEW_HEIGHT分辨率为px,我在我的游戏hud上工作。请注意使用正确的相机。所以这是我给我舞台的相机。可能看看blog。他确实解释了你需要了解的关于Sceen2d的一切以及如何调整尺寸等。

相关问题