[RESOLU] drawtext et retour à la ligne

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

[RESOLU] drawtext et retour à la ligne

Message par blendman »

désolé j'ai encore une question débutant :P

Voici, avec un messageRequester(), on peut utilise chr(13) pour aller à la ligne, peut-on le faire avec un drawtext(), car je ne trouve pas l'équivalent ?

J'ai essayé ça, mais ça ne marche pas.

Code : Tout sélectionner

DrawText(10,10,"Vie " +Str(player\vie) +Chr(13)+"Mana " +Str(player\mana))
Merci d'avance .
Dernière modification par blendman le mer. 23/mars/2011 9:24, modifié 1 fois.
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: drawtext et retour à la ligne

Message par dayvid »

Hé salut !

Non j'ai essayer et sa ne marche pas :?
Oui car je voulais couper le texte d'un bouton fait maison pour le mettre sur deux ligne
Regarde mon dernier exemple si sa peut t'aider:

http://www.purebasic.fr/french/viewtopi ... 5&start=75

D'ailleur j'aimerais bien savoir pourquoi sa ne marche pas ?
même le chr(13) + chr(10) ne marche pas 8O
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: drawtext et retour à la ligne

Message par Ar-S »

Drawtext ne permet pas l'utilisation des chr(10) ou chr(13)
Il te faut je pense "drawtexter" tes 2 lignes.
Tu te fais une Boite et tu écris ton texte dedans

Code : Tout sélectionner


If OpenWindow(0, 0, 0, 200, 200, "2DDrawing Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  If CreateImage(0, 200, 200) And StartDrawing(ImageOutput(0))
      DrawingMode(#PB_2DDrawing_Transparent)
      Box(0, 0, 200, 200, RGB(255, 255, 255))
        DrawText(10, 10, "vie : 100" +Chr(10), RGB(Random(255), Random(255), Random(255)))
        DrawText(10, 30, "Mana : 100", RGB(Random(255), Random(255), Random(255)))
    StopDrawing() 
    ImageGadget(0, 0, 0, 200, 200, ImageID(0))
  EndIf
  
  Repeat
    Event = WaitWindowEvent()
  Until Event = #PB_Event_CloseWindow
EndIf

~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: drawtext et retour à la ligne

Message par G-Rom »

en reprenant le code de ar-s :

Code : Tout sélectionner

Procedure DrawTextEX(x.f,y.f,text$)
  Protected nbLine.i=1 ; il y a au moins une ligne
  Protected lineHeight.i = 22 ; Espace entre les lignes
  
  
  nbLine + CountString(text$,Chr(10)) ; Nombre de "saut" , au moins 1
  
  For i = 1 To nbLine
    Line$ = StringField(text$,i,Chr(10)) ; on découpe entre les chr(10)
    DrawText(x, y + ( (i-1)*lineHeight), Line$,$0,$FFFFFF) ; On affiche , et on ajuste suivant l'itérateur 'i' et la hauteur de ligne
  Next 
  
EndProcedure


MyText$ = "g-rom rules"+Chr(10)
MyText$ + "the world !"+Chr(10)
MyText$ + "---------------"




If OpenWindow(0, 0, 0, 200, 200, "2DDrawing Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  If CreateImage(0, 200, 200) And StartDrawing(ImageOutput(0))
      DrawingMode(#PB_2DDrawing_Transparent)
      Box(0, 0, 200, 200, RGB(255, 255, 255))
      DrawTextEX(10,10,MyText$)
    StopDrawing()
    ImageGadget(0, 0, 0, 200, 200, ImageID(0))
  EndIf
 
  Repeat
    Event = WaitWindowEvent()
  Until Event = #PB_Event_CloseWindow
EndIf
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: drawtext et retour à la ligne

Message par blendman »

G-Rom a écrit :en reprenant le code de ar-s :

Code : Tout sélectionner

Procedure DrawTextEX(x.f,y.f,text$)
  Protected nbLine.i=1 ; il y a au moins une ligne
  Protected lineHeight.i = 22 ; Espace entre les lignes
  
  
  nbLine + CountString(text$,Chr(10)) ; Nombre de "saut" , au moins 1
  
  For i = 1 To nbLine
    Line$ = StringField(text$,i,Chr(10)) ; on découpe entre les chr(10)
    DrawText(x, y + ( (i-1)*lineHeight), Line$,$0,$FFFFFF) ; On affiche , et on ajuste suivant l'itérateur 'i' et la hauteur de ligne
  Next 
  
EndProcedure


MyText$ = "g-rom rules"+Chr(10)
MyText$ + "the world !"+Chr(10)
MyText$ + "---------------"




If OpenWindow(0, 0, 0, 200, 200, "2DDrawing Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  If CreateImage(0, 200, 200) And StartDrawing(ImageOutput(0))
      DrawingMode(#PB_2DDrawing_Transparent)
      Box(0, 0, 200, 200, RGB(255, 255, 255))
      DrawTextEX(10,10,MyText$)
    StopDrawing()
    ImageGadget(0, 0, 0, 200, 200, ImageID(0))
  EndIf
 
  Repeat
    Event = WaitWindowEvent()
  Until Event = #PB_Event_CloseWindow
EndIf
G-rom à la rescousse :D

encore bravo et merci beaucoup, t'es vraiment un chef :D
Répondre