
essayez aussi en metant les paramètres Hauteur et Vitesse à 1, moi je trouve ça très drôle, ça fait plus vibreur que onduleur mais bon

edit : Grace à Garzul vous avez le droit aux comentaires de la fonction Ondulation()
Code : Tout sélectionner
InitSprite()
; Variables
Hauteur.l = 2 ; Multiplicateur de Sin() qui augmente ou réduit le débatement du texte.
Vitesse.l = 90 ; Temps du Delay() qui ralentit/augmente l'animation.
Texte.s = "Ceci est un texte qui ondule"
Global Texte,Y.l,Angle.l,Hauteur,Vitesse
; Création de la fenêtre - en plein écran le mouvement est plus lisse
OpenWindow(0,0,0,220,70,#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered,"Texte")
OpenWindowedScreen(WindowID(),0,0,220,70,0,0,0)
Procedure Affichage()
FlipBuffers()
ClearScreen(0,0,0)
EndProcedure
Procedure Ondulation()
X.l = 10
StartDrawing(ScreenOutput()) ; Pour pouvoir utiliser les commandes des dessin 2D.
DrawingMode(1) ; On selectionne le mode pour ne pas avoir de fond derrière es lettres.
FrontColor(255,0,0) ; On change la couleur.
For i = 1 To Len(Texte) ; On repette pour chaque lettre.
X + (TextLength(Texte) / Len(texte)) ; On avance en X de la taille d'un caractère.
Angle + 1 ; On augmente l'angle d'un.
If Angle > 360 ; si il est supérieur à 360 (un tour) on le remet à 0. On pourrait ne pas mettre
; ce controle mais au bout d'un certain temps la valeur maximale des long serait dépassée.
Angle = 0
EndIf
Locate(X,27 + (Sin(Angle) * Hauteur)) ; On se place en X et en Y.
; Sin(Angle) sert à donner le décalage de chaque lettre, on multiplie par Hauteur pour l'augmenter.
DrawText(Mid(Texte,i,1)) ; On affiche la lettre.
Next i ; et on recommence...
StopDrawing() ; On signife que l'on arrête les fonctions dessin 2D.
EndProcedure
Repeat
Select WindowEvent()
Case #PB_Event_CloseWindow
Sortie.b = 1
EndSelect
Ondulation()
Affichage()
Delay(Vitesse)
Until Sortie = 1
End