gpt4 book ai didi

java - Libgdx,OrthographicCamera 不工作(放大,缩小)

转载 作者:行者123 更新时间:2023-11-30 01:27:33 25 4
gpt4 key购买 nike

我对 libgdx 有疑问。我想举一个关于放大、缩小的简单示例,但 orthographicCamera 没有做任何事情。

我的代码:

public class HitTheGreenBlock extends ApplicationAdapter {

public static int WIDTH, HEIGHT;

SpriteBatch batch;
OrthographicCamera orthographicCamera;

private StateManager stateManager;

@Override
public void create () {

WIDTH = Gdx.graphics.getWidth();
HEIGHT = Gdx.graphics.getHeight();

batch = new SpriteBatch();

orthographicCamera = new OrthographicCamera();
orthographicCamera.translate(WIDTH /20 , HEIGHT / 20);
orthographicCamera.update();

stateManager = new StateManager();

}

@Override
public void render () {
Gdx.gl.glClearColor(1, 0.78f, 0.25f, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

stateManager.update(Gdx.graphics.getDeltaTime());
stateManager.draw(batch);

}
}

以及将图像绘制到屏幕的类:

public class PlayState extends MainState{

public PlayState(StateManager stateManager){
super(stateManager);
}

private int width,height;

public void init() {
width = 2 * HitTheGreenBlock.WIDTH / 3;
height = width;
ImageLoader.load();

}
public void update(float dt) {


}
public void draw(SpriteBatch spriteBatch) {

spriteBatch.begin();

spriteBatch.draw(ImageLoader.greenRegion, (Gdx.graphics.getWidth() - width) / 2, Gdx.graphics.getHeight() / 5, width, height);

spriteBatch.end();

}
public void handleInput() {

}
public void dispose() {

}
}

我将 spriteBatch 从 HitTheGreenBlock.class 发送到 PlayState.class。

我改变了这一行:

        orthographicCamera.translate(WIDTH , HEIGHT);

到这一行:

        orthographicCamera.translate(WIDTH /20 , HEIGHT / 20);

但是 orthographicCamera 做任何事情,图像大小都不会改变。

我的代码有什么问题?

*我还有3个类(class),如果需要我也可以加。

最佳答案

您是否尝试过在 spriteBatch 上将投影矩阵设置为 camera.combined?在 spriteBatch.begin 之前,放入 spriteBatch.setProjectionMatrix(camera.combined);

这样做会告诉 spriteBatch 相对于您的相机进行渲染。

关于java - Libgdx,OrthographicCamera 不工作(放大,缩小),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36250719/

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