0
我正在用pygame編寫一個Python遊戲,我正在試圖讓我的玩家精靈不會碰到地圖上點綴的樹木。我的玩家的精靈具有透明度(當然),當我加載pygame.mask.from_surface(self.getNextFrame())
的Pygame遮罩時,它只加載具有實際顏色的部分。如何在pygame中獲得透明度的面具?
我的問題是,有誰知道如何讓pygame加載與原始圖像的透明度的面具?
我正在用pygame編寫一個Python遊戲,我正在試圖讓我的玩家精靈不會碰到地圖上點綴的樹木。我的玩家的精靈具有透明度(當然),當我加載pygame.mask.from_surface(self.getNextFrame())
的Pygame遮罩時,它只加載具有實際顏色的部分。如何在pygame中獲得透明度的面具?
我的問題是,有誰知道如何讓pygame加載與原始圖像的透明度的面具?
是,使用第二個參數:
mask = pygame.mask.from_surface(self.getNextFrame(), 0)
通過將其設置到0
任何像素被看作是不透明的。見the documentation。
請注意,這個結果只是表面大小的矩形。所以它可能實際上是更高性能使用此:
mask = pygame.mask.Mask(self.getNextFrame().get_size())
mask.fill()
太棒了,謝謝!我會嘗試這兩個。 – Cornholio 2012-07-20 21:11:38
@Cornholio:另外,如果我的答案解決了您的問題,請不要忘記通過點擊答案左側的綠色複選框來接受它。這給了我一點回報,並標誌着回答的答案,這對未來的用戶也很好。 – orlp 2012-07-20 21:13:10
更新:Worked GREAT!我用第二種方法,它好多了。 – Cornholio 2012-07-20 21:18:53