Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1730 connectés 

  FORUM HardWare.fr
  Programmation

  [DirectX] Problème avec la fonction DrawText

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[DirectX] Problème avec la fonction DrawText

n°45185
Alload
Posté le 07-07-2001 à 21:03:39  profilanswer
 

Je voudrais afficher le framerate de mon application, pour cela j'utilise l'interface D3DXFont, j'ai tout initialisé: la font, l'object correspond, etc...
 
Mais quand je lance mon appli, le compteur des FPS affiche n'importe quoi, voilà comment je l'utilise, si quelqu'un pouvait me trouver l'erreur que je fais:
 
 
//Les variables globales
int last = 0;
int current = 0;
unsigned short fps = 0;
unsigned short totalfps = 0;
 
 
//Ce qui se trouve dans la fonction elle même
RECT rect;
rect.left = 10; rect.right = 70;
rect.top = 10; rect.bottom = 50;
 
current = GetTickCount();
 
if (current - last > 1000)
{
totalfps = fps;
fps = 0;
last = GetTickCount();
}
 
else
fps++;
 
lpFont->DrawTextW(&totalfps, -1, &rect, DT_CENTER | DT_VCENTER, D3DCOLOR_XRGB(255, 255, 255));

mood
Publicité
Posté le 07-07-2001 à 21:03:39  profilanswer
 

n°45197
Alload
Posté le 08-07-2001 à 10:17:12  profilanswer
 

Voilà ce que me montrer mon programme:
 
http://www.multimania.com/final6/fps.jpg
 
Alors que j'aimerais qu'il me montre les FPS.

n°45198
verdoux
And I'm still waiting
Posté le 08-07-2001 à 11:01:51  profilanswer
 

totalfps n'est pas une chaine de caractères.

n°45199
Alload
Posté le 08-07-2001 à 11:43:45  profilanswer
 

totalfps est de type unsigned short comme le demande la fonction DrawTextW, et puis je ne met que des nombres dans cette variable, donc je vois pas pourquoi ça affiche n'importe quoi.

n°45200
verdoux
And I'm still waiting
Posté le 08-07-2001 à 13:05:55  profilanswer
 

Alload a écrit a écrit :

totalfps est de type unsigned short comme le demande la fonction DrawTextW




T'en es sûr ?

n°45201
youdontcar​e
Posté le 08-07-2001 à 13:14:23  profilanswer
 

une fonction d'affichage prend quasiment toujours une string en paramètre, comme ici :
 
INT DrawTextW(
  LPCWSTR pString,
  INT Count,
  LPRECT pRect,
  DWORD Format,
  D3DCOLOR Color
);  
 
ici, le paramètre est en effet un unsigned short car cette fonction affiche une string unicode. comme tu n'en as pas besoin pour afficher tes fps, utilises drawtexta() et passe une string issue, par ex, d'un sprintf().

n°45246
Alload
Posté le 08-07-2001 à 23:17:09  profilanswer
 

Un truc que je pige pas, c'est que la fonction DrawTextA demande un pointeur vers une variable const char. Mais comment on peut mettre une phrase dans une const char?
 
Si j'ai bien compris, on ne peut placer qu'une lettre dans un char, donc comment y mettre une phrase?

n°45259
youdontcar​e
Posté le 09-07-2001 à 00:50:08  profilanswer
 

on ne peut effectivement mettre qu'une lettre dans un char.  
as tu bien saisi les pointeurs ? un pointeur n'est qu'une adresse mémoire et peut donc pointer vers un objet ou plusieurs.  
 
ex :  
char myChar = 'A';
char* myCharPtr  = &myChar; // myCharPtr pointe vers myChar
 
char myString = "Bonjour";
char* myStringPtr = &myString[0]; // myStringPtr pointe vers le premier caractère de myString
équivalent à :
char* myStringPtr = myString; // pointe par défaut vers le première caractère.
 
à partir de la, myStringPtr[n] = nième charactère de la string. on peut incrémenter n jusqu'à la fin de la string, notée par un 0 (null).
 
donc là si tu veux afficher tes fps il faut passer un pointeur vers une string qui contient le nombre de fps. tu peux faire ça avec itoa() ou sprintf(), ce dernier étant plus flexible.
 
donc
 
char s[512]; // taille au pif suffisante
sprintf(s, "FPS : %d", totalfps);
lpFont->DrawText(s, ...)
ou  
lpFont->DrawText(&s[0], ...)
les deux étant équivalents.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [DirectX] Problème avec la fonction DrawText

 

Sujets relatifs
[javascript] ptit probleme avec un formulaire[]Access VBa]Recherche une fonction de base
ki peux m'aider avec delphi (2.0) ???, probleme aprés compressionki peux m'aider avec delphi (2.0) ???, probleme aprés compression
Problème avec unJavaScript qui marche pas !.... Help please ....[HTML] Probleme de bouffage de frame par Netscape !
[SQL sous access]Besoin d une fonction[C++] type pointeur de fonction
[java] - probleme de classpathencore un petit problème pour un script de demarage
Plus de sujets relatifs à : [DirectX] Problème avec la fonction DrawText


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR