gpt4 book ai didi

java - Android 中的应用程序有不同的外观吗?

转载 作者:行者123 更新时间:2023-12-01 14:36:52 25 4
gpt4 key购买 nike

我正在使用 libgdx 开发游戏。我有一台三星 Infuse 4G,我电脑上的游戏看起来很大,但我手机上的游戏看起来就是我想要的样子。

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

我正在使用 API_7,但我不明白为什么。我的角色大小是128px,64px。我正在使用 Wide side,当我使用 libgdx 创建舞台时,我将其放入。

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

最佳答案

如果分辨率较高,您的角色会变小,因为您的舞台始终具有最大分辨率,但您的角色仍保持其尺寸。例如,将角色和舞台的大小调整为 procent,它看起来应该是一样的。否则您需要提供更多信息,以便我们提供帮助

一个小例子是。如果您的分辨率为 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);。因此,您只需在调整大小时更改相机视口(viewport),您的舞台就可以正确放置。但请跟踪aspect_ratio

<小时/>


您甚至可以使用固定分辨率开始工作。因此,您有一个适合的分辨率,其余的由相机的变焦完成。
要获得固定分辨率,您可以使用相机进行放大和缩小,以便始终在屏幕上显示整个分辨率。这取决于您的屏幕的分辨率。因此,如果(显示游戏的屏幕)分辨率较小,您会缩小以显示整个游戏场。否则你放大直到视口(viewport)边缘有一个边缘。(呃,这似乎是一件很难的事情)好吧,看起来怎么样?

    @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 是我在游戏 HUD 上使用的分辨率,以 px 为单位。注意使用正确的相机。这就是我给我的舞台的相机。



也许看看这个blog 。他确实解释了您需要了解的有关 Sceen2d 的所有信息以及如何调整大小等。

关于java - Android 中的应用程序有不同的外观吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16412798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com