Gibt es eine Möglichkeit, eine unsichtbare Farbe in Pygame zu definieren, so dass der Aufruf auf screen.fill(invisibleColor,pygame.mouse.get_pos())
würde nicht die Zeichnungen dahinter abdecken?Pygame unsichtbar Farbe
Antwort
Es gibt drei verschiedene Methoden für die Transparenz in Python; Mit Blick auf The documentation for fill sieht es so aus, als müssten Sie die speziellen Flags in den letzten Parameter übergeben, um die von Ihnen verwendete Transparenzmethode zu unterstützen.
Was ich nützlich fand, war die Verwendung der convert_alpha()
Funktion Documented here statt convert
auf meinen Oberflächen; Ich entdeckte, dass die Transparenz in meinem Fall nicht funktionierte, weil ich reguläre convert
verwendete.
ZUSÄTZLICH:
Ich bin nicht 100% klar, was Sie erreichen wollen, aber es fällt mir ein, dass Sie bedeuten, können Sie nur ein Rechteck unter der Maus wollen sichtbar sein und Sie bedeuten zu verwenden Transparenz dafür. Wenn das der Fall ist, gibt es ein paar Probleme:
Wenn dies das ist, was Sie erreichen möchten, können Sie besser eine kleinere Fläche (das unter der Maus befindliche Bit) rendern und diese über den einfarbigen Hintergrund auf den Bildschirm zeichnen.
Wenn Sie wirklich ein festes Rechteck mit einem Loch unter der Maus zeichnen wollen, müssen Sie vier Rechtecken so (sorry für den ascii art) zeichnen:
+------------------+
| 1 |
+------+---+-------+
| 2 | m | 3 |
+------+---+-------+
| 4 |
+------------------+
Auf diese Weise wird das Bit von der Bildschirm unter der Maus (m
im 'Diagramm' markiert) wird nicht durch Ihre Volltonfarbe abgedeckt, aber die Rechtecke 1,2,3 & 4 werden alle als ein durchgehendes Rechteck (mit einem Loch unter der Maus) angezeigt.
Hoffen, dass dies hilft, die Antwort auf Ihre Bedürfnisse zu verfeinern.
'convert' und' convert_alpha' arbeiten an 'Surface' Objekten. Was, wenn ich eine transparente Farbe haben möchte, um ein 'Rect' zu zeichnen (zum Beispiel in' pygame.draw.rect (screen, COLOR, pygame.Rect) ')? – amirteymuri
Das Zeichnen eines transparenten Rechtecks ist genau das Gleiche wie das Zeichnen des Rechtecks an erster Stelle; es ist eine Verschwendung von Berechnungen (und ich würde versuchen, jedes bisschen Leistung aus pygame herauszuholen, das ich bekommen könnte). Meinst du, du willst es halbtransparent (dh ein Alpha> 0)? – SteJ
- 1. sifr Problem - alles unsichtbar
- 2. Pygame-Spiele mit Pygame herunterladen?
- 3. Yahoo unsichtbar
- 4. Anmerkung unsichtbar?
- 5. Pygame UnboundLocalError
- 6. Pygame Zeitsteuerung
- 7. Pygame sprite.spritecollide()
- 8. Pygame - Importfehler
- 9. Pygame pygame.Rect.Clamp
- 10. Iframe unsichtbar machen
- 11. JTextArea macht Text unsichtbar
- 12. Chrome Adressleiste unsichtbar
- 13. AVAudioSessionCategoryPlayAndRecord macht AirPlay unsichtbar
- 14. iPhone Simulator läuft unsichtbar
- 15. WordPress Medienbibliothek ist unsichtbar
- 16. Meine Konsolenanwendung unsichtbar machen
- 17. Wie @ Html.EditorFor unsichtbar machen?
- 18. JList rendern unsichtbar "Auswahlmarker"
- 19. Schaltfläche wird unsichtbar
- 20. Urwid: Cursor unsichtbar machen
- 21. ProgressDialog ist unsichtbar
- 22. Tabellenzeilenrahmen ist unsichtbar
- 23. ModalPopupExtender macht popupcontrol unsichtbar
- 24. Debugging-Optionen sind unsichtbar
- 25. Android Edittext Cursor unsichtbar
- 26. wie einen Textview unsichtbar
- 27. Machen navigationbar Grenze unsichtbar
- 28. Warum ist GlobalAuthenticationConfigurerAdapter.init() unsichtbar?
- 29. Android Tastatur unsichtbar
- 30. Pixelfarbe am Ort mit pygame erhalten
Sie könnten versuchen, eine RBGA-Farbe mit einer Transparenz von 100% zu verwenden. – Oisin
Wie kann ich die Transparenz zu 100% machen? Die Verwendung von Farben wie (255,255,255,255) (mit dem Alpha-Argument) hilft nicht – amirteymuri
Alpha von 255 ist völlig undurchsichtig - versuchen Sie stattdessen (255,255,255,0)? – SteJ