Como faço para criar uma janela pop-up com o Scene2D?

13

Eu tenho uma tela de menu principal com um logotipo e um monte de botões. Quando o botão Login é pressionado, aparece um diálogo solicitando um nome de usuário e senha.

Isso funciona bem, exceto o "surgindo". No momento, a nova caixa de diálogo muda tudo, mas eu gostaria de posicioná-la sobre a cena atual.

Estou apenas aprendendo Scene2D.

Gibbo
fonte

Respostas:

10

A caixa de diálogo é mais adequada para janelas pop-up modais e inclui uma tabela "botão" e "conteúdo" já na janela (como dizem os documentos ). Você pode pegar essas tabelas com getButtonTable () ou getContentTable ().

A caixa de diálogo facilita o trabalho com janelas pop-up. Por exemplo, aqui está uma caixa de diálogo de confirmação:

Dialog dialog = new Dialog("Warning", skin, "dialog") {
    public void result(Object obj) {
        System.out.println("result "+obj);
    }
};
dialog.text("Are you sure you want to quit?");
dialog.button("Yes", true); //sends "true" as the result
dialog.button("No", false);  //sends "false" as the result
dialog.key(Keys.Enter, true); //sends "true" when the ENTER key is pressed
dialog.show();

Você pode usar outros objetos para, por exemplo, opções Sim / Não / Cancelar.

user212
fonte
É possível que a caixa de diálogo defina seu tamanho automaticamente com base em seu conteúdo? Parece que é muito pequeno com o exemplo acima ..
Lake
Eu acho que é possível chamando o método pack () :)
Lago
0

Bem, já que ninguém respondeu, vou postar minha solução.

Ao adicionar atores ao palco, em vez de fazer:

stage.add(actor);

O que adiciona uma célula com o determinado ator, fiz o seguinte:

stage.addActor(actor);

Fiquei então livre para sobrepor atores e movê-los / redimensioná-los / rotacioná-los por meio de interpolação. O único provavelmente que atualmente vejo com isso é o posicionamento absoluto dos Widgets.

Para posicioná-los, você deve ligar para:

actor.setPosition(x, y);

Portanto, pode ser um pouco difícil ao lidar com dispositivos Android com diferentes proporções e resoluções.

Gibbo
fonte
A posição absoluta não é um problema, desde que você defina um tamanho estático do mundo e use uma janela de visualização no seu palco. Ele lida com dimensionamento, alongamento e outras características obscuras de lidar com proporções e resoluções.
Nhdock 04/04