pygame.draw mit Textur?

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
jansie
User
Beiträge: 4
Registriert: Freitag 7. März 2008, 17:13

Hallo Welt.
ist es möglich zum Beispiel ein mit Pygame (über pygame.draw.rect) gezeichnetes Rechteck mit einer Textur (textur.png) zu füllen statt mit einer Farbe. In der Pygame Docu steht nichts dergleichen :-(. Kann mir hier jemand helfen?
BlackJack

Ist so nicht möglich. Du kannst aber mit der Textur ein `Surface` erstellen, dass so gross wie das grösste Rechteck ist, dass Du zeichnen möchtest und dann einen Auschnitt davon in ein anderes `Surface` "blitten".
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ich wüßte nicht, dass das möglich wäre! Für mich stellt sich alleine die Frage: Wozu? Es gibt doch dafür die Surfaces und den blit-Mechanismus!
http://www.pygame.org/docs/ref/surface. ... rface.blit

Wieso brauchst Du da ein rect?
jansie
User
Beiträge: 4
Registriert: Freitag 7. März 2008, 17:13

Für mich stellt sich alleine die Frage: Wozu?
Ich habe das nicht nur mit einem Rechteck sondern auch mit einem Dreieck vor, daher klappt das mit dem Blit nicht so wirklich :-(.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

jansie hat geschrieben:
Für mich stellt sich alleine die Frage: Wozu?
Ich habe das nicht nur mit einem Rechteck sondern auch mit einem Dreieck vor, daher klappt das mit dem Blit nicht so wirklich :-(.
Dann pass doch einfach vorher die textur so an, dass sie nur noch das Dreieck füllt! Der Rest dann durchsichtig und gut ist!
sechsrad
User
Beiträge: 173
Registriert: Montag 31. März 2008, 17:09

Dann pass doch einfach vorher die textur so an, dass sie nur noch das Dreieck füllt! Der Rest dann durchsichtig und gut ist!
oder kannste ja auch gleich die textur mit einer maske belegen(zb mit paintshop) und dann mit diesem befehl die maske unsichtbar schalten:
bild_rect.set_colorkey((255,0,255), RLEACCEL)

ich glaube wenn du mit paintshop einen alphakanal herstellst,brauchste den befehl noch nicht ein mal.
jansie
User
Beiträge: 4
Registriert: Freitag 7. März 2008, 17:13

jupp klappt.. danke :-)
Antworten