Làm cách nào để tạo cửa sổ bật lên với Scene2D?


13

Tôi có một màn hình menu chính với logo và một loạt các nút. Khi nhấn nút Đăng nhập, tôi bật lên một đoạn hội thoại hỏi tên người dùng và mật khẩu.

Điều này hoạt động tốt, khác với "bật lên". Tại thời điểm này mới hộp thoại chỉ cần thay đổi mọi thứ về, nhưng tôi muốn để định vị nó trên sân khấu hiện nay.

Tôi chỉ đang học Cảnh2D.

Câu trả lời:


10

Hộp thoại phù hợp hơn cho các cửa sổ bật lên theo phương thức và nó bao gồm bảng "nút" và "nội dung" đã có trong cửa sổ (như các tài liệu nói). Bạn có thể lấy các bảng này bằng getButtonTable () hoặc getContentTable ().

Hộp thoại giúp bạn dễ dàng làm việc với cửa sổ bật lên. Ví dụ, đây là một hộp thoại xác nhận:

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

Bạn có thể sử dụng các đối tượng khác cho các tùy chọn Có, Không / Không / Hủy.


Có thể để hộp thoại tự động đặt kích thước dựa trên nội dung của nó không? Có vẻ như nó quá nhỏ với ví dụ trên ..
Hồ

Tôi đoán có thể bằng cách gọi phương thức pack () :)
Lake

0

Vâng, vì không ai trả lời, tôi sẽ đăng giải pháp của tôi.

Khi thêm Diễn viên vào Sân khấu, thay vì thực hiện:

stage.add(actor);

Mà thêm một Cell với Actor đã cho trong đó, tôi đã làm như sau:

stage.addActor(actor);

Sau đó tôi được tự do chồng chéo các diễn viên và di chuyển / chia tỷ lệ / xoay chúng thông qua tweening. Điều duy nhất có lẽ tôi hiện đang thấy với điều này là định vị tuyệt đối của Widgets.

Để định vị chúng, bạn phải gọi:

actor.setPosition(x, y);

Vì vậy, có thể hơi khó khăn khi xử lý các thiết bị Android có tỷ lệ và độ phân giải khác nhau.


vị trí tuyệt đối không phải là vấn đề quá lớn miễn là bạn đặt kích thước thế giới tĩnh và sử dụng chế độ xem với giai đoạn của bạn. Nó sẽ xử lý mở rộng, kéo dài và các quy tắc tối nghĩa khác để xử lý các tỷ lệ và độ phân giải khía cạnh.
nhydock
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.