IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DirectX Discussion :

[XNA] Sprite et transparence


Sujet :

DirectX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Responsable de rayon
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de rayon
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Par défaut [XNA] Sprite et transparence
    Bonjour
    J'affiche une image et je souhaite lui appliquer un fade-in. J'ai fais ma fonction qui permet cela mais la transparence ne changeait pas. J'ai essayé alors de l'afficher avec un alpha = 0 pour voir si je ne voyais effectivement plus le logo mais il est toujours là. Mon logo est un fichier PNG.
    Je ne comprend pas pourquoi le canal alpha ne change rien à l'affichage du logo.
    Voici comment je l'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    private static Color FadeColor(Color baseColor, float FadeValue)
            {
                Color tempColor;
                tempColor = new Color(baseColor.R, baseColor.G, baseColor.B, (byte)FadeValue);
                return tempColor;
            }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public void Draw(GameTime gameTime)
            {
                p_SpriteBatch.Draw(this.texture, this.position, null, FadeColor(Color.White, 0), 0.0f, new Vector2(), 1.0f, SpriteEffects.None, 0.0f);
            }

  2. #2
    Membre extrêmement actif

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 408
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 408
    Par défaut
    il faut activer l'alpha blending, sinon ça ne marche pas.

  3. #3
    Membre confirmé
    Homme Profil pro
    Responsable de rayon
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de rayon
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Par défaut
    Comment faire ? J'ai essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend);
    Mais ça ne change rien.
    J'ai réussi à rendre transparent en remplacant toutes les couleurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    p_SpriteBatch.Draw(this.texture, this.Position, null, new Color(0.0f, 0.0f, 0.0f, 0.0f), 0.0f, new Vector2(), 1.0f, SpriteEffects.None, 0.0f);

  4. #4
    Membre extrêmement actif

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 408
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 408
    Par défaut
    j'en sais rien, par contre une recherche sur "alpha blending xna" sur ton moteur de recherche favori devrait aider.

  5. #5
    Membre confirmé
    Homme Profil pro
    Responsable de rayon
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de rayon
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Par défaut
    Je me suis aperçu d'une chose : ça ne marche pas sur la couleur de base est le blanc. Par contre si je met par exemple du rouge, le canal alpha est bien pris en compte. Etrange

  6. #6
    Membre confirmé
    Homme Profil pro
    Responsable de rayon
    Inscrit en
    Juin 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de rayon
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 86
    Par défaut
    Problème résolu !
    Voici la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.NonPremultiplied);
    Merci

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

Discussions similaires

  1. [XNA] aide affichage d'un missile lancer par un sprite
    Par kate59 dans le forum XNA/Monogame
    Réponses: 16
    Dernier message: 19/04/2008, 12h19
  2. transparence alpha pour sprites
    Par mastertricard dans le forum SDL
    Réponses: 4
    Dernier message: 28/03/2008, 21h39
  3. Probleme de transparance sur les sprites
    Par drcd dans le forum OpenGL
    Réponses: 2
    Dernier message: 02/05/2006, 20h31
  4. transparence et sprites
    Par batosai dans le forum DirectX
    Réponses: 5
    Dernier message: 21/12/2005, 01h49
  5. pb de transparence/texture/sprite
    Par Fikus dans le forum DirectX
    Réponses: 6
    Dernier message: 15/05/2004, 22h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo