【发布时间】:2015-09-08 11:59:36
【问题描述】:
我知道在 libgdx 中,舞台使用定义相机的视口。我想在屏幕上的一个小方块上渲染一个舞台。我尝试使用自定义视口,但我只设法设置它的大小。我也尝试过使用setPosition(int screenX, int screenY) 方法,但无论我尝试什么,似乎视口总是以屏幕中间为中心。有谁知道如何设置视口在屏幕上的位置?
【问题讨论】:
我知道在 libgdx 中,舞台使用定义相机的视口。我想在屏幕上的一个小方块上渲染一个舞台。我尝试使用自定义视口,但我只设法设置它的大小。我也尝试过使用setPosition(int screenX, int screenY) 方法,但无论我尝试什么,似乎视口总是以屏幕中间为中心。有谁知道如何设置视口在屏幕上的位置?
【问题讨论】:
在我看来,您的问题不在于设置视口位置,而在于更新它 - 您必须在视口更新时将相机居中
stage = new Stage();
viewport = new ExtendViewport(WIDTH, HEIGHT);
viewport.setScreenPosition(500, 500); //I'm setting viewport's position
...
@Override
public void render(float delta)
{
...
viewport.update(currentWindowWidth, currentWindowHeight, true); //here I'm updateing it with setting camera center
...
}
比较
void update(int screenWidth, int screenHeight, boolean centerCamera)
和
void update(int screenWidth, int screenHeight)
调用上面的 update 版本,默认为 false
【讨论】: