gpt4 book ai didi

java - 将 Java 的 HotSwap 功能与 libGDX 结合使用

转载 作者:行者123 更新时间:2023-11-30 09:14:18 24 4
gpt4 key购买 nike

我使用以下代码创建了小测试,并尝试执行这些步骤以使用热交换功能。

  1. 使用“调试”按钮运行程序
  2. 在渲染函数中创建一个断点,以暂停程序。
  3. 改变rectangle.width的值
  4. 编译程序
  5. 让 intelliJ 重新加载代码。

但这似乎并没有改变屏幕上矩形的大小。

public class HotSwapTest extends ApplicationAdapter {
OrthographicCamera camera;
ShapeRenderer shapeRenderer;

private static final int SCREEN_WIDTH = 800;
private static final int SCREEN_HEIGHT = 480;

Rectangle rectangle;


@Override
public void create() {
shapeRenderer = new ShapeRenderer();
camera = new OrthographicCamera();
camera.setToOrtho(false, SCREEN_WIDTH, SCREEN_HEIGHT);

rectangle = new Rectangle();
rectangle.x = SCREEN_WIDTH / 2 - 64 / 2;
rectangle.y = 20;
rectangle.width = 100;
rectangle.height = 30;
}

@Override
public void render() {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

shapeRenderer.setProjectionMatrix(camera.combined);
shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
shapeRenderer.setColor(1, 1, 0, 1);
shapeRenderer.rect(rectangle.x, rectangle.y, rectangle.width, rectangle.height);
shapeRenderer.end();

camera.update(); // only if we're moving the screen though
}
}

最佳答案

输入后意识到我应该在渲染函数中更改矩形的宽度。因为创建函数不会再次运行。

以下代码可以正常工作。

public void render() {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

rectangle.width = 5; // Change this line while debugging.
rectangle.height = 10;

shapeRenderer.setProjectionMatrix(camera.combined);
shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
shapeRenderer.setColor(1, 1, 0, 1);
shapeRenderer.rect(rectangle.x, rectangle.y, rectangle.width, rectangle.height);
shapeRenderer.end();

camera.update(); // only if we're moving the screen though
}

关于java - 将 Java 的 HotSwap 功能与 libGDX 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20572266/

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