2013-07-13 23 views
0

我現在在Pygame中有2層: 1st:移動的背景圖像 第2層:字符,項目,激光等等,這層明顯位於第一層前面。但是,無論何時嘗試blit第一層(背景),它都會擦除第二層上的任何內容(尤其是激光和其他只出現一定時間的內容)。有沒有辦法,即使背景blits,它不刪除層2的所有內容?如何在不擦除其他圖層的情況下blit背景

在您選擇循環
+0

總之,沒有圖像。你目前在做不同表面的背景和其他物品的做法很好,並且會簡化你的問題。所有你需要做的就是在每次你將背景拍到背景上時,都會在前面拍攝。真的沒有其他的方式來做到這一點。 – PygameNerd

+0

請參閱http://en.wikipedia.org/wiki/Bit_blit,這裏討論了一些有用的優化方法,特別是骯髒的矩形。 – JonnyRo

回答

1

你需要做這樣的事情

while True: 
    screen.blit(background(0,0)) 
    screen.blit(item(100,100)) 
    #etc. 

這樣的循環,而blit的背景則位塊傳輸的圖像,然後重新的blit後臺刷新頂部的圖像,然後重新的blit的在上面

這樣一來就會的blit eachlayer一遍又一遍刷新在每次迭代如果循環我可以幫助更多,如果你表現出一定的代碼的youre

相關問題