2011-05-01 189 views
2

我剛剛開始了一個非常簡單的pygame代碼,在白色背景上繪製了一條綠線。但是,爲了顯示它,我必須使用pygame.display.flip(),但似乎每次我進行更改時都必須使用它,這對我來說做得對,這似乎太不切實際。我錯過了什麼嗎?pygame的初學者問題

回答

3

有這個一個很好的理由。雙緩衝是一種用於防止「閃爍」的技術。基本上,你想繪製一幀到內存,而不是顯示器,然後在繪製時一次全部推送該幀。否則,你可以看到同一幀的不同元素在不同的時間上升。

你想要做什麼是呼叫pygame.display.flip()只有每幀一次抽獎,每次更改後不。通常情況下,這是由具有在一幀結束調用一次物理操作和遊戲規則都做了「draw」的功能,並flip()荷蘭國際集團在draw末完成。

3

是的,你必須要更新屏幕每次調用它。默認情況下,pygame使用雙緩衝Wiki link