Scene2D로 팝업 창을 만들려면 어떻게합니까?


13

로고와 여러 버튼이있는 기본 메뉴 화면이 있습니다. 로그인 버튼을 누르면 사용자 이름과 비밀번호를 묻는 대화 상자가 나타납니다.

이것은 "팝핑 (ppping 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();

예 / 아니요 / 취소 옵션에 다른 개체를 사용할 수 있습니다.


내용에 따라 대화 상자의 크기를 자동으로 설정할 수 있습니까? 위의 예에서는 너무 작은 것 같습니다.
Lake

pack () 메소드를 호출하여 가능하다고 생각합니다 :)
Lake

0

아무도 대답하지 않았으므로 솔루션을 게시 할 것입니다.

스테이지에 액터를 추가 할 때 :

stage.add(actor);

주어진 액터가있는 셀을 추가하면 다음을 수행했습니다.

stage.addActor(actor);

그런 다음 액터를 오버랩하고 트위닝을 통해 액터를 이동 / 스케일 / 회전 할 수있었습니다. 현재 내가 볼 수있는 유일한 것은 위젯의 절대 위치입니다.

그것들을 배치하려면 다음을 호출해야합니다.

actor.setPosition(x, y);

가로 세로 비율과 해상도가 다른 Android 기기를 다룰 때 약간 어려울 수 있습니다.


정적 월드 크기를 설정하고 스테이지와 함께 뷰포트를 사용하는 한 절대 위치는 그리 큰 문제가되지 않습니다. 화면 비율과 해상도를 다루는 스케일링, 스트레칭 및 기타 모호한 속성을 처리합니다.
nhydock
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.