如何像演员一样移动精灵?

时间:2019-04-17 09:03:02

标签: java libgdx

我正在开发RTS游戏,我需要移动由精灵表示的角色,类似于您在《帝国时代》或《魔兽争霸》中看到的角色:左键单击选择,然后移到右键单击位置。

我知道我可以在演员上叫Actions.moveTo(),但是我没有演员,有精灵。我使用一个阶段来绘制UI(例如按钮和资源信息)。

我有以下代码:

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

        moveCamera();
        camera.update();
        renderer.setView(camera);
        renderer.render();
        sb.setProjectionMatrix(camera.combined);
        renderUnits();

        stage.act();
        stage.draw();
    }

    private void renderUnits() {
        sb.begin();
        for (Unit u : logicMap.units) {
            sb.draw(u.sprite, u.position.x, u.position.y, u.width, u.height);
        }
        sb.end();
    }

renderUnits()方法将呈现我拥有的每个单元,因此该想法将只是在每帧中修改单元位置并使Sprite移至所需位置。

我应该如何去做?我认为我需要一个不同的线程来处理移动,因此它不会锁定主游戏,但我不确定。

0 个答案:

没有答案