Page 2 sur 2

Re: [jeu] DrawText() : problème de taille de police

Publié : lun. 20/juin/2011 15:56
par Ar-S
djes a écrit :
Thyphoon a écrit :Qu'est ce que je regrette de ne pas avoir gardé mon amiga lorsque je faisais du titrage vidéo dans les année 90.. j'en avais des disquettes plein de font bitmap dont certaine vraiment très jolie et très sobre ! Le seul truc qui manque pour se faire plaisir avec des fonts bitmaps c'est un clipsprite3D natif dans pb.
Regarde là : http://cgi.algonet.se/htbin/cgiwrap?use ... t=fonts.pl
Merci qui? :mrgreen:
:P yeah :P

Re: [jeu] DrawText() : problème de taille de police

Publié : lun. 20/juin/2011 16:05
par G-Rom
http://www.purebasic.fr/french/viewtopi ... 82#p118582

Télécharge l'archive, dedans il y a les sources de ma participation , la serie invade-demo & military marsh , dedans il y a du code pour afficher le texte en bitmap , il faut aussi que tu dépunch le code :D

Re: [jeu] DrawText() : problème de taille de police

Publié : lun. 20/juin/2011 16:16
par blendman
djes a écrit :Sinon, pour les utiliser, y'a pas plus simple, tu te crées quelques sprites et après tu les dessines avec un truc genre

Code : Tout sélectionner

For u = 1 To Len(text)
	s.l = #SILVERFONT + Asc(Mid(text, u, 1))
	ZoomSprite3D(s, 64, 64)
	RotateSprite3D(s, 0, 0)
	DisplaySprite3D(s, x, y)
	x + 32
Next u
il faut créer un sprite par lettre ?
je ne comprends pas trop comment ça s'utilise ? :P

Edit :
G-rom : je vais regarder ça, merci ;)

Re: [jeu] DrawText() : problème de taille de police

Publié : lun. 20/juin/2011 16:30
par G-Rom
Oui , tu créer un sprite par lettre , là tu as l'avantages des map , utilise les :
Map BitmapFont.i()
BitmapFont("A") = LoadSprite(#pb_any,"A.bmp") ; ou grabsprite , comme tu veut ;)
Ensuite tu parcours la chaine , comme te la fait voir djes , et tu affiches les sprites les uns derrière les autres , tout simplement.

@+

Re: [jeu] DrawText() : problème de taille de police

Publié : lun. 20/juin/2011 16:33
par djes
blendman a écrit :
djes a écrit :Sinon, pour les utiliser, y'a pas plus simple, tu te crées quelques sprites et après tu les dessines avec un truc genre

Code : Tout sélectionner

For u = 1 To Len(text)
	s.l = #SILVERFONT + Asc(Mid(text, u, 1))
	ZoomSprite3D(s, 64, 64)
	RotateSprite3D(s, 0, 0)
	DisplaySprite3D(s, x, y)
	x + 32
Next u
il faut créer un sprite par lettre ?
je ne comprends pas trop comment ça s'utilise ? :P
Oui, voilà. Tu crées tes sprites à partir des fichiers image que je viens de donner (ou alors tu fais un caractère par fichier). Là j'ai utilisé comme numéro de base des sprites de ma police la constante #SILVERFONT mais tu mets ce que tu veux. Tu dois juste savoir que le 'A' a pour valeur ASCII 65, B 66, C 67 etc.

Edit : grilled par G-Rom, qui utilise les map ; c'est moins rapide que les constantes, mais ça va pas nous tuer ;)

Re: [jeu] DrawText() : problème de taille de police

Publié : lun. 20/juin/2011 16:39
par graph100
sinon, tant que tu restes avec un affichage text :

http://www.purebasic.fr/french/viewtopi ... =6&t=11885

Re: [jeu] DrawText() : problème de taille de police

Publié : lun. 20/juin/2011 16:41
par G-Rom
Tu as tout à fait raison , les constantes sont bien plus rapide , les map facilitent la vie , c'est tout , utilise les constantes ! ;)

Re: [jeu] DrawText() : problème de taille de police

Publié : lun. 20/juin/2011 16:46
par blendman
G-Rom a écrit :Oui , tu créer un sprite par lettre , là tu as l'avantages des map , utilise les :
Map BitmapFont.i()
BitmapFont("A") = LoadSprite(#pb_any,"A.bmp") ; ou grabsprite , comme tu veut ;)
Ensuite tu parcours la chaine , comme te la fait voir djes , et tu affiches les sprites les uns derrière les autres , tout simplement.
oki, j'imagine qu'on peut utiliser un sprite normal et un clipsprite pour avoir un unique sprite de font ?

Edit : parce que cet utilitaire c'est super pratique pour créer nos font bitmaps :D
http://www.codehead.co.uk/cbfg/

Re: [jeu] DrawText() : problème de taille de police

Publié : lun. 20/juin/2011 16:52
par G-Rom
Bien entendu.