[英]Loop through ArrayList only selecting last element in ArrayList
我正在嘗試在屏幕上彈跳幾個圖像,但是僅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);
}
如果刪除代碼的clearAndDraw
行, clearAndDraw
出現兩個矩形,但它們會弄臟屏幕。
有什么辦法可以解決這個問題?
移動這一行:
gc.clearRect(0, 0, gc.getCanvas().getWidth(), gc.getCanvas().getHeight());
到您的for
循環之前。 然后,它將在繪制所有矩形之前清除屏幕。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.