gpt4 book ai didi

java - Libgdx 锁定宽高比到一定范围

转载 作者:太空宇宙 更新时间:2023-11-04 12:47:01 25 4
gpt4 key购买 nike

是否可以设置最小和最大纵横比?比方说从 1:1 到 2.5:1。或者至少设置宽度和高度的最小值和最大值?

最佳答案

您可以使用 FitViewport 来保持固定的宽度和高度:

FitViewport 视口(viewport) = new FitViewport(SCREEN_WIDTH, SCREEN_HEIGHT, 相机);

如果您使用舞台来绘制所有 Actor ,那么您所需要做的就是在舞台上设置视口(viewport),如下所示:

stage.setViewport(viewport);

但是,如果您不使用舞台,那么您需要执行以下操作。如果您直接使用 SpriteBatch 绘图,您还需要设置一个 Camera:

SpriteBatch batch = new SpriteBatch();
OrthographicCamera camera = new OrthographicCamera(SCREEN_WIDTH, SCREEN_HEIGHT);
camera.setToOrtho(true);
//center the camera in the center of the screen
camera.position.set(SCREEN_WIDTH / 2f, SCREEN_HEIGHT / 2f, 0f);
//pass the camera to the third argument of the viewport
FitViewport viewport = new FitViewport(SCREEN_WIDTH, SCREEN_HEIGHT, camera);

然后渲染时需要在CameraSpriteBatch上设置投影矩阵:

@Override
public void render(float deltaTime) {
camera.update();
batch.setProjectionMatrix(camera.combined);

// do all the rendering of textures and stuff

}

此外,每次调整屏幕大小时,您都需要更新视口(viewport):

@Override
public void resize(int width, int height) {
viewport.update(width, height);
}

关于java - Libgdx 锁定宽高比到一定范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36212369/

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