2015-09-08 2 views
0

Я знаю, что в libgdx на сцене используется окно просмотра, которое определяет камеру. Я хочу сделать сцену на маленьком квадрате на моем экране. Я попытался использовать настраиваемое окно просмотра, но мне удалось установить его размер. Я также пробовал использовать метод setPosition(int screenX, int screenY), но кажется, что окно просмотра всегда сосредоточено в середине экрана независимо от того, что я пытаюсь. Кто-нибудь знает, как установить положение окна просмотра на экране?Libgdx Как установить позицию в окне просмотра?

ответ

1

Ваша проблема, на мой взгляд, не в определении позиции видовых, но в обновлении - вы должны центрирования камеры при обновлении

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 как значение по умолчанию

+0

Кажется, что я забыл обновить ... У меня было ощущение, что я что-то пропустил. Еще один вопрос: если я не перемещаю камеру, достаточно ли обновить видовое окно только с помощью метода resize() экрана? – Andrew

+0

Я бы попробовал обновить его в рендеринге (почему бы и нет?), Но попробуйте сами;) –

+0

Я столкнулся с другой проблемой. Я думал, что метод setScreenPosition для окна просмотра позволит мне перемещать его в любом месте, но кажется, что независимо от того, какое значение я ввожу, окно просмотра находится в (0, 0). Я не знаю, почему это происходит. Я обновляюсь после каждого изменения. – Andrew

Смежные вопросы