[jeu] DrawText() : problème de taille de police
Publié : lun. 20/juin/2011 8:52
salut
On a remarqué avec Stombretrooper avec je fais le jeu 3arks que d'un ordinateur à un autre il y avait un problème dans les tailles des polices affichées avec Drawtext().
Savez-vous comment on peut régler ça ?
Voici ce que ça donne sur mon ordinateur (xp, résolution du jeu 1024*768), c'est normal :

Et voici ce que cela donne sur l'ordinateur de Stombretrooper (windows 7, reso jeu 1024*768), il y a un problème:

Toutes les polices sur l'ordinateur de Stombretrooper sont plus grandes que sur le mien, mais ce n'est pas lié au système car j'ai un autre avec seven et ça fonctionne correctement.
La méthode que j'utilise est la suivante :
1. je crée des constante et je loade les polices ensuite avec ces constantes. J'utilise des polices disponibles sur n'importe quel ordinateur (arial et verdana), j'ai même essayé de charger la police depuis un dossier du jeu (le dossier "font"), mais le problème est toujours le même :
Ensuite, pour dessiner un texte, j'utilise la méthode classique, après avoir dessiner mes sprites, je fais :
Donc, logiquement, ça devrait marcher, mais la taille de base semble différer en fonction des ordinateurs, cartes graphiques, ou systèmes d'exploitation..
Alors, à part utiliser une font sprite, ce qui m'obligerait à refaire un grosse partie du code et que je ferai très certainement plus tard, existe-t'il une solution connue à ce problème ?
merci d'avance
.
On a remarqué avec Stombretrooper avec je fais le jeu 3arks que d'un ordinateur à un autre il y avait un problème dans les tailles des polices affichées avec Drawtext().
Savez-vous comment on peut régler ça ?
Voici ce que ça donne sur mon ordinateur (xp, résolution du jeu 1024*768), c'est normal :

Et voici ce que cela donne sur l'ordinateur de Stombretrooper (windows 7, reso jeu 1024*768), il y a un problème:

Toutes les polices sur l'ordinateur de Stombretrooper sont plus grandes que sur le mien, mais ce n'est pas lié au système car j'ai un autre avec seven et ça fonctionne correctement.
La méthode que j'utilise est la suivante :
1. je crée des constante et je loade les polices ensuite avec ces constantes. J'utilise des polices disponibles sur n'importe quel ordinateur (arial et verdana), j'ai même essayé de charger la police depuis un dossier du jeu (le dossier "font"), mais le problème est toujours le même :
Code : Tout sélectionner
Enumeration
#fnt_gras9
#fnt_normal8
#fnt_normal9
#fnt_normal10
#fnt_normal12
#fnt_arial10
#fnt_arial12
EndEnumeration
If LoadFont(#fnt_gras9,"arial",9,#PB_Font_Bold) = 0
MessageRequester("Erreur", "impossible d'utiliser la police d'écriture Arial")
EndIf
If LoadFont(#fnt_arial10,"arial",10) = 0
MessageRequester("Erreur", "impossible d'utiliser la police d'écriture Arial")
EndIf
If LoadFont(#fnt_arial12,"arial", 12) = 0
MessageRequester("Erreur", "impossible d'utiliser la police d'écriture Arial")
EndIf
AddFontResource_("Font\verdana.ttf")
If LoadFont(#fnt_normal8, "Verdana", 8) = 0
MessageRequester("Erreur", "impossible d'utiliser la police d'écriture Verdana")
EndIf
If LoadFont(#fnt_normal12, "Verdana", 12) = 0
MessageRequester("Erreur", "impossible d'utiliser la police d'écriture Verdana")
EndIf
If LoadFont(#fnt_normal10, "Verdana", 10) = 0
MessageRequester("Erreur", "impossible d'utiliser la police d'écriture Verdana")
EndIf
If LoadFont(#fnt_normal9,"verdana",9) =0
MessageRequester("Erreur","Problème de chargement de la police d'écriture Verdana.")
End
EndIf
Code : Tout sélectionner
Stop3D()
StartDrawing(ScreenOutput())
DrawingMode(#PB_2DDrawing_Transparent)
DrawingFont(FontID(#fnt_normal8))
DrawText(x,y,texte$)
DrawingFont(FontID(#fnt_normal10))
DrawText(x,y,texte2$)
; etc.....
stopdrawing()
Alors, à part utiliser une font sprite, ce qui m'obligerait à refaire un grosse partie du code et que je ferai très certainement plus tard, existe-t'il une solution connue à ce problème ?
merci d'avance
