有沒有什麼辦法可以在pygame中定義一個隱形顏色,這樣在screen.fill(invisibleColor,pygame.mouse.get_pos())
上調用它就不會覆蓋它後面的圖紙?Pygame隱形顏色
回答
在Python中有三種不同的透明度方法;看着The documentation for fill它看起來像你需要將特殊標誌傳遞到最後一個參數來支持你正在使用的透明度方法。
我發現有用的是在我的表面上使用convert_alpha()
函數Documented here而不是convert
;我發現在我的情況下,透明度不起作用,因爲我使用的是常規的convert
。
補充:
我不是你想達到什麼樣的100%清楚,但它發生,我認爲你可能意味着你想要的鼠標下只有一個矩形是可見的,你的意思是使用透明度來做到這一點。如果是這種情況,有幾個問題:
- 透明顏色就是這樣 - 透明 - 在現有的已售出的矩形上繪製它將允許您通過透明顏色看到實心矩形;換句話說,它將與沒有首先繪製該矩形的完全相同
- 您將繪製整個屏幕然後覆蓋它;這會很慢。
如果這是你想要實現的,你可能會做得更好,只渲染一個更小的表面(位於鼠標下方的位)並將其繪製到固定背景上的屏幕上。
如果你確實想用鼠標畫下一個洞了堅實的矩形,你將需要繪製四個矩形像這樣(遺憾的ASCII藝術):
+------------------+
| 1 |
+------+---+-------+
| 2 | m | 3 |
+------+---+-------+
| 4 |
+------------------+
這樣的位('圖'中標記爲m
)將不會被純色覆蓋,但矩形1,2,3都會顯示爲一個實心矩形(鼠標下面有一個孔)。
希望這有助於完善答案以滿足您的需求。
轉換'和'convert_alpha'在'Surface'對象上工作。如果我想繪製一個'Rect'(例如在'pygame.draw.rect(screen,COLOR,pygame.Rect)')中使用透明顏色,該怎麼辦? – amirteymuri
繪製一個透明的矩形與第一個繪製矩形完全一樣;這是浪費計算(我會試圖從pygame中擠出所有性能)。你的意思是你想要它是半透明的(即一個alpha> 0)? – SteJ
- 1. 顏色Pygame整數?
- 2. Pygame:如何更改背景顏色
- 3. Java - 顏色矩形
- 4. 通過Python/Pygame中的迭代獲取形狀的不同顏色?
- 5. Chart.js條形圖:網格顏色和隱藏標籤
- 6. 如何在JButton中使顏色隱形(透明)ImageIcon
- 7. 圓形顏色轉換
- 8. 顏色不變 - 蟒圖形
- 9. WPF矩形顏色綁定
- 10. 帶顏色的條形圖
- 11. Android圖形顏色在xml
- 12. 圓形顏色梯度(色調)在firemonkey
- 13. java圖形 - 兩種顏色的形狀
- 14. 簡單的顏色圓形顏色選擇器
- 15. C#圓形顏色到列表中的顏色
- 16. 基本Pygame圖形
- 17. pygame圖形網格
- 18. Pygame矩形碰撞
- 19. 如何在pygame中繪製一條線並更改顏色?
- 20. 使用pygame在位置獲取像素顏色
- 21. screen.get_at():運行代碼時圖像顏色發生變化pygame
- 22. 用pygame/pyglet從數組重建圖像時顏色不正確
- 23. 錯誤的顏色通道,pygame開羅rsvg圖
- 24. OS X上的Python3和Pygame。沒有顏色的圖像
- 25. 使用填充(顏色)方法時,pygame崩潰
- 26. 將SDL_VIDEODRIVER設置爲「dummy」後,pygame中的顏色錯誤
- 27. 獲取pygame中圖像的單個像素的顏色
- 28. 從ConfigParser配置文件讀取的顏色與Pygame的
- 29. 如何在keypress中更改pygame中的文本顏色?
- 30. 顏色VirtualStringTree行與隱藏節點
您可以嘗試使用透明度爲100%的RBGA顏色。 – Oisin
我如何使透明度達到100%?使用像(255,255,255,255)這樣的顏色(使用alpha參數)無助於 – amirteymuri
255的Alpha是完全不透明的 - 試試(255,255,255,0)而不是? – SteJ