gpt4 book ai didi

java - Fitviewport 错误的相机定位

转载 作者:行者123 更新时间:2023-11-30 10:59:31 24 4
gpt4 key购买 nike

我在手机上开发了一款分辨率为 1080x1920(纵向)的游戏。我根据它设置了我的 fitviewport。在我的手机上看起来像这样:

my phone

但在任何其他手机或桌面相机上定位错误。在其他设备上看起来像这样:

other phone

我以前在其他项目中使用过fitviewport,但从未遇到过该问题。可能是因为肖像模式?

编辑相关代码在这里:

//in create
camera = new Orthographiccamera();
camera.setToOrtho(false, Gdx.graphics.getWidth(), Gdx.graphics.getHeigth());

viewport = new FitViewport(1080,1920,camera);

//in resize
viewport.update(width,height);

//before starting batch
batch.setProjectionMatrix(camera.combined);

最佳答案

您的代码中有两个相互矛盾的语句:camera.setToOrtho(false, Gdx.graphics.getWidth(), Gdx.graphics.getHeigth())。这会将相机的视口(viewport)大小设置为显示大小,然后将相机居中。

另一方面,您想使用固定尺寸为 1080x1920 的 FitViewport

如果您的屏幕尺寸刚好是 1080x1920,那没问题,因为中心是一样的。如果屏幕尺寸与您在 FitViewport 中使用的屏幕尺寸不同,则 setToOrtho() 会将相机的中心设置为不是 1080x1920 中心的位置,这就是您注意到的原因偏移量。

使用 viewport.update(width, height, true) 将更正此问题。最后一个参数将使相机正确居中并覆盖 setToOrtho() 中发生的事情。

让视口(viewport)管理您的相机并移除 camera.setToOrth() 的调用。

关于java - Fitviewport 错误的相机定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31889065/

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