首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Java的HotSwap功能与libGDX

使用Java的HotSwap功能与libGDX
EN

Stack Overflow用户
提问于 2013-12-13 17:17:39
回答 1查看 1.2K关注 0票数 2

我用下面的代码创建了小测试,并尝试执行以下步骤来使用hotswap功能。

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

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

代码语言:javascript
复制
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
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-13 17:17:39

在输入这个命令之后,我意识到我应该在render函数中更改矩形的宽度。因为create函数不会再次运行。

以下代码正常工作。

代码语言:javascript
复制
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
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20572266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档