我试图让几张图片在屏幕上跳动,但只有 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
代码行,两个矩形都会出现,但它们会弄脏屏幕。
有什么办法可以解决这个问题吗?
最佳答案
移动这一行:
gc.clearRect(0, 0, gc.getCanvas().getWidth(), gc.getCanvas().getHeight());
在 for
循环之前。然后它将在绘制所有矩形之前清除屏幕。
关于java - 遍历 ArrayList 只选择 ArrayList 中的最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41945712/