2017-01-30 6 views
1

여러 이미지가 화면 주위로 튀어 나오려고하지만 ArrayList의 마지막 이미지 만 나타납니다. 나는 코드의 clearAndDraw 라인을 제거하면ArrayList의 Loop through ArrayList의 마지막 요소 만 선택

for(Letter l : Letters) { 
    clearAndDraw(gameMenuGraphicsContext, gc -> 
     gc.drawImage(
      l.letterImage, 
      l.letterRectangle.getX(), 
      l.letterRectangle.getY() 
     ) 
    ); 
    gameMenuGraphicsContext.drawImage(
     l.letterImage, 
     l.letterRectangle.getX(), 
     l.letterRectangle.getY() 
    ); 
    l.move(); 
} 

private void clearAndDraw(GraphicsContext gc, Consumer<GraphicsContext> draw) { 
    gc.clearRect(0, 0, gc.getCanvas().getWidth(), gc.getCanvas().getHeight()); 
    draw.accept(gc); 
} 

은 모두 사각형이 나타납니다하지만 그들은 화면을 망치면.

이 문제를 해결할 방법이 있습니까?

답변

4

이동이 라인 :

gc.clearRect(0, 0, gc.getCanvas().getWidth(), gc.getCanvas().getHeight()); 

당신의 for 루프 이전에. 그런 다음 모든 직사각형을 그리기 전에 화면을 지 웁니다.

관련 문제