j'ai un petit problème, je souhaiterais faire un texte défilant un peu particulier, c'est à dire qu'au départ, le texte est complètement à droite, la première lettre va se placer complètement à gauche et quand elle arrivée, la deuxième vient se placer à sa droite, ainsi de suite jusqu'à la dernière, puis la dernière retourne à droite et quand elle est arrivée, c'est au tour de l'avant dernière jusqu'à la première et on recommence le cycle.
Je n'arrive pas à trouver la solution, si vous acceptez de m'aider, je vous serait redevable !
Code : Tout sélectionner
Enumeration Police
#Police
EndEnumeration
Enumeration Fenetre
#Fenetre_principale
EndEnumeration
Enumeration Sprite
#Txt_1
#Txt_2
#Txt_3
#Txt_4
#Txt_5
#Txt_6
#Txt_7
EndEnumeration
Global largeur = GetSystemMetrics_(#SM_CXSCREEN), hauteur = GetSystemMetrics_(#SM_CYSCREEN), y = hauteur - 70
If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0 And InitSound() = 0
MessageRequester("Erreur", "Le système Sprite ne peut pas être initialisé !", #MB_ICONERROR)
End
EndIf
OpenScreen(largeur, hauteur, 32, "Sprite police")
LoadFont(#Police, "Arial", 25)
CreateSprite(#Txt_1, 25, 38)
CreateSprite(#Txt_2, 8, 38)
CreateSprite(#Txt_3, 24, 38)
CreateSprite(#Txt_4, 26, 38)
CreateSprite(#Txt_5, 23, 38)
CreateSprite(#Txt_6, 21, 38)
CreateSprite(#Txt_7, 22, 38)
StartDrawing(SpriteOutput(#Txt_1))
DrawingFont(FontID(#Police))
DrawText(0, 0, "M", $87E34C, $FFFFFF)
StopDrawing()
StartDrawing(SpriteOutput(#Txt_2))
DrawingFont(FontID(#Police))
DrawText(0, 0, "I", $87E34C, $FFFFFF)
StopDrawing()
StartDrawing(SpriteOutput(#Txt_3))
DrawingFont(FontID(#Police))
DrawText(0, 0, "C", $87E34C, $FFFFFF)
StopDrawing()
StartDrawing(SpriteOutput(#Txt_4))
DrawingFont(FontID(#Police))
DrawText(0, 0, "O", $87E34C, $FFFFFF)
StopDrawing()
StartDrawing(SpriteOutput(#Txt_5))
DrawingFont(FontID(#Police))
DrawText(0, 0, "U", $87E34C, $FFFFFF)
StopDrawing()
StartDrawing(SpriteOutput(#Txt_6))
DrawingFont(FontID(#Police))
DrawText(0, 0, "T", $87E34C, $FFFFFF)
StopDrawing()
StartDrawing(SpriteOutput(#Txt_7))
DrawingFont(FontID(#Police))
DrawText(0, 0, "E", $87E34C, $FFFFFF)
StopDrawing()
Repeat
FlipBuffers()
Delay(100)
ClearScreen($FFFFFF)
XD1 = 0 : XF1 = 1779 : x1 = xf1
XD2 = 25 : XF2 = 1804 : x2 = xf2
XD3 = 32 : XF3 = 1812 : x3 = xf3
XD4 = 54 : XF4 = 1836 : x4 = xf4
XD5 = 78 : XF5 = 1860 : x5 = xf5
XD6 = 101 : XF6 = 1882 : x6 = xf6
XD7 =121 : XF7 = 1900 : x7 = xf7
DisplaySprite(#Txt_1, xf1, y) ; M
While x1 > xd1
DisplaySprite(#Txt_1, x1, y)
x1 - 1
Wend
DisplaySprite(#Txt_2, xf2, y) ; I
While x2 > xd2
DisplaySprite(#Txt_2, x2, y)
x2 - 1
Wend
DisplaySprite(#Txt_3, xf3, y) ; C
While x3 > xd3
DisplaySprite(#Txt_3, x3, y)
x3 - 1
Wend
DisplaySprite(#Txt_4, xf4, y) ; O
While x4 > xd4
DisplaySprite(#Txt_4, x4, y)
x4 - 1
Wend
DisplaySprite(#Txt_5, xf5, y) ; U
While x5 > xd5
DisplaySprite(#Txt_5, x5, y)
x5 - 1
Wend
DisplaySprite(#Txt_6, xf6, y) ; T
While x6 > xd6
DisplaySprite(#Txt_6, x6, y)
x6 - 1
Wend
DisplaySprite(#Txt_7, xf7, y) ; E
While x7 > xd7
DisplaySprite(#Txt_7, x7, y)
x7 - 1
Wend
DisplaySprite(#Txt_7, xd7, y) ; E
While x7 < xf7
DisplaySprite(#Txt_7, x7, y)
x7 + 1
Wend
DisplaySprite(#Txt_6, xd6, y) ; T
While x6 < xf6
DisplaySprite(#Txt_6, x6, y)
x6 + 1
Wend
DisplaySprite(#Txt_5, xd5, y) ; U
While x5 < xf5
DisplaySprite(#Txt_5, x5, y)
x5 + 1
Wend
DisplaySprite(#Txt_4, xd4, y) ; O
While x4 < xf4
DisplaySprite(#Txt_4, x4, y)
x4 + 1
Wend
DisplaySprite(#Txt_3, xd3, y) ; C
While x3 < xf3
DisplaySprite(#Txt_3, x3, y)
x3 + 1
Wend
DisplaySprite(#Txt_2, xd2, y) ; I
While x2 < xf2
DisplaySprite(#Txt_2, x2, y)
x2 + 1
Wend
DisplaySprite(#Txt_1, xd1, y) ; M
While x1 < xf1
DisplaySprite(#Txt_1, x1, y)
x1 + 1
Wend
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)