2014-03-26 2 views
0

에 두 개의 오브젝트를 표시하고 싶은 게임을 개발 중입니다.하지만 지금 쓰고있는 것은 무엇일까요? 첫 번째 렌더링 메서드는 뒤에 다른 개체가 뒤에 표시됩니다. 렌더링 메서드에서 마지막으로 그렸던 개체는 화면에 렌더링되는 동안 위의 모든 위에 나타납니다. 동일한 레이어에 개체를 유지하기 위해 일부 코드 나 제안을 제공하십시오 .For 예 :같은 레이어에 두 개의 오브젝트/텍스처를 그리는 방법 libgdx (안드로이드)

 batch.draw(object1,object1.x,object2.y); 
     batch.draw(object2,object2.x,object2.y); 

현재 객체 2는 위의 객체 그 (것)들을 동일한 층에서 t. Object1과 Object2는 텍스처입니다. 당신은 위의 이미지에서 볼 수 있듯이, 떨어지는 흰색 계란 이러한 계란

를 잡는 사람 뒤에 나타나고있다 enter image description here

당신은 항상 다른 하나 위에 하나 개의 이미지를 렌더링 할 것이다 당신에게

+0

"같은 레이어"란 무엇을 의미합니까? 당신이보고있는 것과 당신이보고 싶어하는 것에 대한 이미지를 보여줄 수 있습니까? –

+0

같은 레이어로 동일한 레벨에서 두 개 이상의 이미지를 의미합니다. 관심을 가져 주셔서 감사합니다. –

+0

@ P.T. : 이미지를보세요 –

답변

0

감사드립니다. 이미 알았 듯이 렌더링 루프에서 첫 번째로 오는 것은 나중에 나오는 것들 뒤에 그려진다.

텍스처를 직접 렌더링하고 싶다면 그리기 순서를 어떻게 든 정렬해야합니다.

다른 방법으로는 scene2D를 사용하는 것입니다 ... Scene2D는 이미지를 추가 할 수있는 Stage 클래스를 제공합니다. 여기서도 같은 방법으로 먼저 추가 된 항목이 먼저 그려지며 다른 항목은 위에 그려집니다.

다행히도 각 항목의 z 값을 변경하여 scene2d 내의 순서를 신속하게 변경할 수 있습니다. Z 값이 더 높은 항목은 다른 항목 앞에 그려집니다. 이렇게하면 물건을 그리는 순서를 쉽게 바꿀 수 있습니다.

사진에서 보듯이 바구니에 알을 수집하려고하므로 닭고기와 바구니를 두 개의 서로 다른 이미지로 분리해야합니다. 닭고기는 처음에 (배경 후에) 그 다음에 알이 그려집니다. 그리기 순서에서 마지막으로 오면 바구니를 렌더링해야합니다. 이 방법으로 계란은 닭 앞에서 쓰러 질 것이지만 hte 바구니 뒤쪽으로 옮길 것입니다.

도움이 되길 바랍니다 ...

+2

scene2d에서 zIndex 조심하세요. 그룹당입니다. 한 그룹의 배우가 다른 그룹의 배우보다 아래에 나타나도록 할 수는 없습니다. – Chase

+0

죄송합니다. 그 점을 잊어 버렸습니다. :) – evident

관련 문제