Retour automatique a la ligne (texte) dans un ecran

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Kayne
Messages : 157
Inscription : sam. 06/oct./2007 18:33
Contact :

Retour automatique a la ligne (texte) dans un ecran

Message par Kayne »

Bonjour,
Alors c'est assez dur a expliquer donc demandez des précisions si je suis pas clair. Je voudrais dans un écran pouvoir mettre du texte dans un sprite et que le texte aille a la ligne tout seul comme dans word (sans casser les mots).
__________________________________________

Débutant les tutoriels de mon site sont la pour vous n'hésitez pas à aller les voir: http://tripamort.free.fr/
__________________________________________
Kayne - Webmaster de http://tripamort.free.fr/
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Message par case »

facile :)

Code : Tout sélectionner

; x: position x de depart
; y: position y de depart
; t$: chaine a afficher
; w: largeur de la zone d'affichage

procedure showtext(x,y,t$,W) 

startdrawing(screenoutput()) ; sur ecran a modifier en fonction 
;----------------------------------
xpos=0 ; position relative a x
ypos=0 ; position relative a y 
;-----------------------------------
fields=countstring(t$," ") +1 ; on compte le nombre de mots dans la phrase

for a=1 to fields   ; pour chaque mots 
mot$=stringfield(t$,a," ") ; prend le mot actuel
mw=textwidth(mot$) ; calcul la largeur du mot en pixels
if xpos+mw >w        ; si la position actuelle + la largeur du mot est superieur a la largeur d'affichage
  ypos=ypos+textheight(mot$) ; on descend d'une ligne
  xpos=0                                ; on revien au debut de la ligne
  drawtext (x+xpos,y+ypos,mot$) ; on ecrit le mot
  xpos=xpos+mw+textwidth(" "); on ajoute la taille du mot a la position actuelle et un espace
else ; le mot entre dans la limite
 drawtext (x+xpos,y+ypos,mot$) ; on ecrit le mot
  xpos=xpos+mw+textwidth(" "); on ajoute la taille du mot a la position actuelle et un espace
endif
next
stopdrawing()

endprocedure
normalement ca doit fonctionner, mais je n'ai pas testé je n'ai pas de pc avec pure basic ici

par contre je ne vérifie pas si un mot n'entre pas du tout dans la zone au quel cas il fraudais peut être le découper...

ni la hauteur d'ailleur :)

a toi d'implementer une limite basse et un systeme de scrolling peut etre
Kayne
Messages : 157
Inscription : sam. 06/oct./2007 18:33
Contact :

Message par Kayne »

Excellent ce que t'as fait c'est exactement ce que je recherchait
merci beaucoup :D :D
__________________________________________

Débutant les tutoriels de mon site sont la pour vous n'hésitez pas à aller les voir: http://tripamort.free.fr/
__________________________________________
Kayne - Webmaster de http://tripamort.free.fr/
Répondre