Bagaimana cara saya membuat jendela pop-up dengan Scene2D?


13

Saya memiliki layar menu utama dengan logo dan banyak tombol. Ketika tombol Login ditekan, saya memunculkan dialog untuk menanyakan nama pengguna dan kata sandi.

Ini berfungsi dengan baik, selain "muncul". Saat ini kotak dialog baru hanya menggeser semua tentang, tapi saya ingin memposisikannya di atas adegan saat ini.

Saya baru belajar Scene2D.

Jawaban:


10

Dialog lebih cocok untuk jendela pop-up modal, dan termasuk tabel "tombol" dan "konten" yang sudah ada di jendela (seperti yang dikatakan dokumen ). Anda bisa mengambil tabel ini dengan getButtonTable () atau getContentTable ().

Dialog membuatnya mudah untuk bekerja dengan jendela sembul. Misalnya, ini adalah dialog konfirmasi:

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();

Anda dapat menggunakan objek lain untuk, misalnya, opsi Ya / Tidak / Batalkan.


Mungkinkah dialog mengatur ukurannya secara otomatis berdasarkan isinya? Sepertinya terlalu kecil dengan contoh di atas ..
Danau

Saya kira itu mungkin dengan memanggil metode pack () :)
Danau

0

Benar juga, karena tidak ada yang menjawab, saya akan memposting solusi saya.

Saat menambahkan Aktor ke Panggung, alih-alih melakukan:

stage.add(actor);

Yang menambahkan Sel dengan Aktor yang diberikan di dalamnya, saya melakukan hal berikut:

stage.addActor(actor);

Saya kemudian bebas untuk tumpang tindih aktor dan memindahkan / skala / memutar mereka melalui tweening. Satu-satunya yang mungkin saat ini saya lihat dengan ini adalah penentuan posisi mutlak Widget.

Untuk memposisikan mereka, Anda harus menelepon:

actor.setPosition(x, y);

Jadi bisa jadi agak sulit ketika berhadapan dengan perangkat Android dengan rasio aspek dan resolusi yang berbeda.


Posisi absolut tidak terlalu menjadi masalah selama Anda menetapkan ukuran dunia statis dan menggunakan viewport dengan panggung Anda. Ini akan menangani penskalaan, peregangan, dan tindakan tidak pantas lainnya dalam berurusan dengan rasio aspek dan resolusi.
nhydock
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.