2014-01-22 2 views
2

내 libgdx 게임에서 내 현재 건강 상태 등을 표시하는 정보 패널을 그려야합니다. 나는 비슷한 것을 보여주는 this question을 보았지만, 내 패널은 사용자 입력에 반응 할 필요가 없으며 단지 정보 만 표시해야합니다. 그 이유는 내 게임 스크린에 두 번째 무대를 추가하고 싶지 않기 때문입니다. 하지만 다른 모든 것들 앞에 그려져 있는지 확인해야합니다. 어떻게 관리 할 수 ​​있습니까? 나는 Z-Index가 작동하지 않을 것이라고 생각합니다. 캐릭터가 촬영할 때 무대에 "탄환"배우를 추가하면이 장면이 마지막 색인에 올 것입니다. 똑같은 일은 "일시 중지 메뉴"와 함께 할 것이지만이 경우 실제로 두 번째 단계를 사용할 수 있습니다. 또는 일시 중지 메뉴에 대한 더 나은 솔루션이 있습니까?libgdx에서 정보 패널을 그리는 법 scene2d ui

EDIT : stage.draw() 메서드를 재정의하는 것이 좋은 방법입니까? super.draw()를 먼저 호출 한 다음 내 정보 패널을 그릴 수 있습니다. 그래서 항상 앞에있을 것입니다. 아니면 무대를 무효로해야합니까?

답변

2

여기서 가장 좋은 방법은 2 단계입니다.

사용자 입력 상호 작용에 반응하지 않으려면 입력 프로세서로 두 번째 스테이지를 설정하지 않아야합니다.

Stage.draw()를 재정의하면 분명히 작동하지만 유지 관리가 어려울 수 있습니다. 또한 게임 기능이 스테이지의 하위 클래스 (이상적인 세계 : D)에 있어야하므로 원치 않는 디자인을 선택해야합니다.

희망이 있습니다.

+0

gmae 용 스테이지와 일시 중지 메뉴 용 스테이지 만 있으면 더 쉬울 수 없습니까? stage.draw()를 오버라이드하면 액터가 그려진 후 정보 패널을 쉽게 그릴 수 있고 동일한 클래스에 있기 때문에 플레이어와 그의 정보에 액세스하여 참조 arround를 던지게됩니다. 내가 틀렸다면 나를 바로 잡아라! – Springrbua

+0

현재의 사용 사례는 쉽지만 확장성에 방해가됩니다 (디자인에 관한 것입니다). 나중에 정보 패널에 기능을 추가하려면 유지 관리가 악몽이 될 수 있습니다. :) 그것이 당신의 한계 (정보 - 패널을위한)라고 확신한다면, 그것을 위해 가십시오. –

+0

감사합니다. – Springrbua

1

stage.draw() 메소드를 재정의하는 것이 좋습니다. super.draw()를 먼저 호출 한 다음 내 정보 패널을 그릴 수 있습니다. 그래서 항상 앞에있을 것입니다. 아니면 무대를 무효로해야합니까?

정말 모든 것을 하나의 단일 단계에 포함하려면. (나는 2 단계를 사용하면 디자인을 더 쉽게 만들 수 있다는 점을 실제로 알지 못한다.) 그럼 네. Stage.draw()를 재정의하는 것을 주저하지 마십시오.

+0

메뉴를 준비하는 것이 더 좋습니까? 그리고 그 패널을 위해서? 그러나 다른 스테이지에 저장되어있는 모든 Infos 원인을 얻는 것은 어려울 것입니다 ... – Springrbua