【发布时间】:2017-05-12 17:06:30
【问题描述】:
我正在尝试开发一个 Android 应用程序,但偶然发现了一个非常棘手的问题。
我正在尝试使用与我的“主要”视口不同的视口用于不同的阶段来控制某些元素。我已经开始使用带有 Scaling.none 的缩放视口,因为它似乎最适合我正在寻找的东西。问题是,当我试图改变它的位置时,它根本不动!它只是停留在屏幕的中心。这是我在视口构造器中使用的代码:
viewport = new StretchViewport(720, 1280, cam);
viewport.apply();
cam.position.set(cam.viewportWidth / 2, cam.viewportHeight / 2,0);
secondaryViewport = new ScalingViewport(Scaling.none, 480, 421);
secondaryViewport.setScreenPosition(240, 0);
不能移动缩放视口?
编辑:这是我的 render() 方法:
@Override
public void render(SpriteBatch sb) {
cam.update();
secondaryViewport.getCamera().update();
sb.setProjectionMatrix(cam.combined);
Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
sb.begin();
sb.setColor(Color.WHITE);
sb.draw(bg, cam.position.x - cam.viewportWidth / 2, 0, cam.viewportWidth, cam.viewportHeight);
sb.end();
stage.getViewport().apply();
stage.draw();
stage.act();
secondaryStage.getViewport().apply();
secondaryStage.draw();
secondaryStage.act();
}
【问题讨论】: