簡體   English   中英

遍歷ArrayList僅選擇ArrayList中的最后一個元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM