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 :
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 .
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;
Voici la fonction d'affichage de texte :
Au secours .....
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); } }
En vous remerciant .
Partager