Précédent   Forum des professionnels en informatique > Applications > Développement 2D, 3D et Jeux > API graphiques > DirectX
DirectX Forum d'entraide sur le développement avec DirectX. Avant de poster -> FAQ DirectX
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/07/2011, 12h49   #1
Nouveau Membre du Club
 
Homme Vincent
Responsable de rayon
Inscription : juin 2005
Messages : 86
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Âge : 30
Localisation : France

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

Informations forums :
Inscription : juin 2005
Messages : 86
Points : 26
Points : 26
Envoyer un message via MSN à Kaneda Shotaro
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 :
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 :
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);
        }
Kaneda Shotaro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 18h06   #2
Membre Expert
 
Inscription : février 2006
Messages : 1 393
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 1 393
Points : 2 057
Points : 2 057
il faut activer l'alpha blending, sinon ça ne marche pas.
stardeath est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 18h45   #3
Nouveau Membre du Club
 
Homme Vincent
Responsable de rayon
Inscription : juin 2005
Messages : 86
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Âge : 30
Localisation : France

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

Informations forums :
Inscription : juin 2005
Messages : 86
Points : 26
Points : 26
Envoyer un message via MSN à Kaneda Shotaro
Comment faire ? J'ai essayé avec
Code :
spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend);
Mais ça ne change rien.
J'ai réussi à rendre transparent en remplacant toutes les couleurs :
Code :
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);
Kaneda Shotaro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 18h54   #4
Membre Expert
 
Inscription : février 2006
Messages : 1 393
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 1 393
Points : 2 057
Points : 2 057
j'en sais rien, par contre une recherche sur "alpha blending xna" sur ton moteur de recherche favori devrait aider.
stardeath est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 00h26   #5
Nouveau Membre du Club
 
Homme Vincent
Responsable de rayon
Inscription : juin 2005
Messages : 86
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Âge : 30
Localisation : France

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

Informations forums :
Inscription : juin 2005
Messages : 86
Points : 26
Points : 26
Envoyer un message via MSN à Kaneda Shotaro
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
Kaneda Shotaro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 00h48   #6
Nouveau Membre du Club
 
Homme Vincent
Responsable de rayon
Inscription : juin 2005
Messages : 86
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Âge : 30
Localisation : France

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

Informations forums :
Inscription : juin 2005
Messages : 86
Points : 26
Points : 26
Envoyer un message via MSN à Kaneda Shotaro
Problème résolu !
Voici la solution :
Code :
spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.NonPremultiplied);
Merci
Kaneda Shotaro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h47.


 
 
 
 
Partenaires

Hébergement Web