ฉันจะสร้างหน้าต่างแบบผุดขึ้นด้วย Scene2D ได้อย่างไร


13

ฉันมีหน้าจอเมนูหลักพร้อมโลโก้และปุ่มต่างๆ เมื่อกดปุ่มเข้าสู่ระบบฉันจะปรากฏกล่องโต้ตอบถามชื่อผู้ใช้และรหัสผ่าน

ใช้งานได้ดีนอกเหนือจาก "popping up" ในขณะนี้กล่องโต้ตอบใหม่จะเปลี่ยนทุกอย่าง แต่ฉันต้องการวางตำแหน่งไว้เหนือฉากปัจจุบัน

ฉันแค่เรียนรู้ Scene2D

คำตอบ:


10

กล่องโต้ตอบเหมาะสมกว่าสำหรับหน้าต่างป๊อปอัปแบบโมดอลและมีตาราง "ปุ่ม" และ "เนื้อหา" อยู่ในหน้าต่างอยู่แล้ว (ตามที่เอกสารบอก) คุณสามารถคว้าตารางเหล่านี้ด้วย getButtonTable () หรือ getContentTable ()

กล่องโต้ตอบช่วยให้ทำงานกับหน้าต่างป๊อปอัปได้ง่าย ตัวอย่างเช่นนี่คือกล่องโต้ตอบการยืนยัน:

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

คุณสามารถใช้วัตถุอื่นเพื่อพูดตัวเลือกใช่ / ไม่ใช่ / ยกเลิก


เป็นไปได้หรือไม่ที่จะให้กล่องโต้ตอบตั้งขนาดโดยอัตโนมัติตามเนื้อหา ดูเหมือนว่ามันจะเล็กเกินไปกับตัวอย่างข้างต้น ..
ทะเลสาบ

ฉันเดาว่าเป็นไปได้โดยการเรียกใช้ pack () method :)
ทะเลสาบ

0

ถูกต้องเนื่องจากไม่มีใครตอบฉันจะโพสต์โซลูชันของฉัน

เมื่อเพิ่มนักแสดงลงในสเตจแทนที่จะทำ:

stage.add(actor);

ซึ่งเพิ่ม Cell ด้วยนักแสดงที่ได้รับฉันได้ทำสิ่งต่อไปนี้:

stage.addActor(actor);

จากนั้นฉันก็อิสระที่จะทับซ้อนนักแสดงและขยับ / ไต่สวน / หมุนพวกมันผ่านการทวีต สิ่งเดียวที่ฉันเห็นในตอนนี้คือการกำหนดตำแหน่งของวิดเจ็ตอย่างสมบูรณ์

ในการจัดวางตำแหน่งคุณต้องโทร:

actor.setPosition(x, y);

ดังนั้นอาจเป็นเรื่องยากเล็กน้อยเมื่อจัดการกับอุปกรณ์ Android ที่มีอัตราส่วนและความละเอียดต่างกัน


ตำแหน่งที่แน่นอนไม่ใช่ปัญหามากตราบใดที่คุณตั้งค่าขนาดโลกคงที่และใช้วิวพอร์ตกับสเตจของคุณ มันจะจัดการการปรับขนาดการยืดและคุณสมบัติอื่น ๆ ที่ไม่ชัดเจนของการจัดการกับอัตราส่วนภาพและความละเอียด
nhydock
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.