2012-07-20 40 views
0

我正在用pygame編寫一個Python遊戲,我正在試圖讓我的玩家精靈不會碰到地圖上點綴的樹木。我的玩家的精靈具有透明度(當然),當我加載pygame.mask.from_surface(self.getNextFrame())的Pygame遮罩時,它只加載具有實際顏色的部分。如何在pygame中獲得透明度的面具?

我的問題是,有誰知道如何讓pygame加載與原始圖像的透明度的面具?

回答

1

是,使用第二個參數:

mask = pygame.mask.from_surface(self.getNextFrame(), 0) 

通過將其設置到0任何像素被看作是不透明的。見the documentation

請注意,這個結果只是表面大小的矩形。所以它可能實際上是更高性能使用此:

mask = pygame.mask.Mask(self.getNextFrame().get_size()) 
mask.fill() 
+0

太棒了,謝謝!我會嘗試這兩個。 – Cornholio 2012-07-20 21:11:38

+0

@Cornholio:另外,如果我的答案解決了您的問題,請不要忘記通過點擊答案左側的綠色複選框來接受它。這給了我一點回報,並標誌着回答的答案,這對未來的用戶也很好。 – orlp 2012-07-20 21:13:10

+0

更新:Worked GREAT!我用第二種方法,它好多了。 – Cornholio 2012-07-20 21:18:53