Scene2D ile nasıl açılır pencere yapabilirim?


13

Bir logo ve bir grup düğmeli bir ana menü ekranım var. Oturum Aç düğmesine basıldığında, kullanıcı adı ve şifre isteyen bir iletişim kutusu açıyorum.

Bu "haşhaş" dışında, iyi çalışıyor. Şu anda yeni diyalog kutusu her şeyi değiştiriyor, ancak mevcut sahnenin üzerine yerleştirmek istiyorum .

Sadece Scene2D öğreniyorum.

Yanıtlar:


10

İletişim kutusu kalıcı açılır pencereler için daha uygundur ve pencerede zaten bir "düğme" ve "içerik" tablosu içerir ( dokümanlar dediği gibi). Bu tabloları getButtonTable () veya getContentTable () ile yakalayabilirsiniz.

İletişim kutusu açılır pencerelerle çalışmayı kolaylaştırır. Örneğin, bir onay iletişim kutusu aşağıdadır:

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

Örneğin, Evet / Hayır / İptal seçenekleri için diğer nesneleri kullanabilirsiniz.


İletişim kutusunun boyutunu içeriğine göre otomatik olarak ayarlaması mümkün müdür? Yukarıdaki örnekte çok küçük gözüküyor ..
Göl

Sanırım bu pack () yöntemini çağırarak mümkün :)
Lake

0

Pekala, kimse cevap vermediği için çözümümü yayınlayacağım.

Aktörleri Sahne Alanı'na eklemek yerine Sahne Alanı'na eklerken:

stage.add(actor);

Hangi içinde verilen aktör ile bir hücre ekler, aşağıdakileri yaptım:

stage.addActor(actor);

Daha sonra aktörleri üst üste bindirme ve onları ara doldurma yoluyla hareket ettirme / ölçeklendirme / döndürme konusunda özgürdüm. Şu anda bununla gördüğüm tek şey, Widget'ların mutlak konumlandırmasıdır.

Bunları konumlandırmak için aramalısınız:

actor.setPosition(x, y);

Bu nedenle, farklı en boy oranlarına ve çözünürlüklere sahip Android cihazlarla uğraşırken biraz zor olabilir.


mutlak konum, statik bir dünya boyutu ayarladığınız ve sahne alanınızla birlikte bir görüntü alanı kullandığınız sürece sorun değildir. En-boy oranları ve çözünürlüklerle başa çıkmanın ölçekleme, germe ve diğer belirsiz özelliklerini ele alacaktır.
nhydock
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.