Bonjour,

Je suis en train de développez un petit jeu 2d en DirectX . Mon probleme est le suivant , je gere sans difficulté la transparance pour ce qui est des sprites 2D . Mais je n'arrive pas a la gerer pour ce qui est de l'affichage de texte .

Voici un extrait de la fonction qui initialise ma fenetre avec DirectDraw :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
 
	DDPIXELFORMAT ddpf;
	ddpf.dwSize = sizeof(ddpf);
	pSurfacePrimaire->GetPixelFormat(&ddpf);
	DWORD dwkc = ddpf.dwGBitMask;//Pour une clé de couleur dont le vert est saturé .
	couleurcle.dwColorSpaceHighValue = dwkc;
	couleurcle.dwColorSpaceLowValue = dwkc;
J'utilise une couleur de vert saturée comme couleur de transparance , j'i donc définie la couleur de transparence du texte à l'aide de RGB(0,255,0) mais cette solution de fonctionne pas .

Voici la fonction d'affichage de texte :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
void GestionAffichage::AfficherTexte(char* pTexte,int x,int y)
{
	HDC hdc_ss;
	if(pSurfaceSecondaire->GetDC(&hdc_ss) == DD_OK)
	{
		SetBkColor(hdc_ss,RGB(0,255,0);
		SetTextColor(hdc_ss,RGB(255,0,0));
		//GetTextExtentPoint(hdc_ss, pTexte, lstrlen(pTexte), &size);
		TextOut(hdc_ss, x, y, pTexte, lstrlen(pTexte));
		pSurfaceSecondaire->ReleaseDC(hdc_ss);
	}
}
Au secours .....

En vous remerciant .