Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre éprouvé Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    juin 2010
    Messages
    654
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : juin 2010
    Messages : 654
    Points : 404
    Points
    404

    Par défaut bg transparent [pygame]

    Salut les pythons multimédia/jeux,
    Je sais pas si il est possible avec pygame de faire apparaître le fond d'écran en transparent car associer avec le drapeau NOFRAME dans la configuration de l'écran cela pourrait permettre d'afficher par exemple un cercle sur l'écran sans que celui-ci ne se retrouve dans une fenêtre: laissant apparaître le cercle et autour le fond d'écran du bureau.
    J'ai fait des essaies avec la méthode set_colorkey() du module Surface:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    # -*- coding: utf-8 -*-
     
    import pygame
    from pygame.locals import *
    from sys import exit
     
     
    pygame.init()
    screen=pygame.display.set_mode((800,600),SRCALPHA,32 ) #|NOFRAME
    screen.set_alpha(0)
    while True :
      screen.fill((255,0,0))
      screen.set_colorkey((255,0,0))
      pygame.draw.circle(screen,(255,255,255),(800/2,600/2),200,0)  
     
      for event in pygame.event.get() :
        if event.type == QUIT :
          exit()
     
      pygame.display.update()
    Mais ce na fonctionne pas car la méthode set_colorkey() s'applique a une surface qui est censé être blitter sur une autre offrant la possibilité de rendre des pixels d'une couleur définis transparente sur la surface source transparente sur la surface de destination mais je ne sais si cela s'applique a la surface de display...?
    Surface.set_colorkey

    Set the transparent colorkey
    Surface.set_colorkey(Color, flags=0): return None
    Surface.set_colorkey(None): return None

    Set the current color key for the Surface. When blitting this Surface onto a destination, and pixels that have the same color as the colorkey will be transparent. The color can be an RGB color or a mapped color integer. If None is passed, the colorkey will be unset.
    Savez vous si ce tour de passe-passe est possible ?
    Merci pour vos réponses éclairées.

    PS: Je sais que les surfaces peuvent être configurer de 3 manières pour l'affichage des couleurs en transparence:
    -colorkeys,
    -surface alphas,
    -pixel alphas
    les deux premier peuvent être mélanger mais je ne sais comment configurer la surface pour être dans un des modes.
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Blog: http://3dcyberspace.unblog.fr/
    Site: Sanctuaire cybernétique

  2. #2
    Membre chevronné
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 728
    Points : 791
    Points
    791

    Par défaut

    pas possible avec le Display, désolé; en tout cas c'est pas prévu dans la lib telle quelle.

  3. #3
    Membre éprouvé Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    juin 2010
    Messages
    654
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : juin 2010
    Messages : 654
    Points : 404
    Points
    404

    Par défaut

    Merci pour la confirmation je m'en doutait, dommage.
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Blog: http://3dcyberspace.unblog.fr/
    Site: Sanctuaire cybernétique

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •