2014-06-24 7 views

답변

0

가장 먼저 꺼내는 것은 가장 먼 것입니다. 먼저 뭔가를 그릴 자바 말하면 그래서

public void paintComponent(Graphics g) { 
    g.drawRect(10, 10, 80, 30); // Drawn in back 
    g.drawRect(20, 20, 70, 40); // Drawn in middle 
    g.drawRect(10, 10, 10, 10); // Drawn in front 
    ... 
} 
+0

내가 제거하는 함수를 호출 할 페인트 구성 요소 화면의 모든 항목이 다시 추가됩니다. 그러나 clearRect() 함수를 사용하면 화면이 지워지지만 그 위에 페인트 칠을하지는 않습니다. – user3633639

+0

drawRect()를 호출하기 전에 clearRect()를 호출하는 것이 맞습니까? – aProperFox

+0

예, 맞습니다. – user3633639

0

가 먼저 그려을 받고 그 위에 그릴 아무것도 당신이 그린 우선을 통해 그려집니다.

0

우선 순위를 지정할 수는 없지만 각 객체가 그려지는 순서 (순서 코드)를 지정할 수 있습니다. Here이 그 예입니다.

public void paint(Graphics screen) { 
    sortByDepth(screen); 
    backFaceCulling(screen); 
    applyProjection(screen); 
    drawCube(screen); 
} 

다음 책은 많은 도움을 줄 수 있습니다 : Introduction to Computer Graphics Using Java 2D and 3D.

Overlapping polygons here

도 참조 : 또한, 당신은 당신이 뭔가를 그리려는 경우 Visible Surface Determination를 볼 수 있습니다