Private Sub Command1_Click Randomize Timer 'Init Rnd 'Declarations Dim StartTime(100) 'Starttime of a up/down movement Dim DownMovement(100) As Boolean 'are we doing a up or down movement? Dim MoveDistance As Double 'distance target has moved since the start of the movement Dim YPos(100) As Double 'Holds the y position of a letter Dim MovementDone(100) As Boolean 'Is set to true when a up / down movement is completed Dim StartHeight(100) As Double 'From which hight will the letter fall down? Dim UpMovementTime(100) As Double 'How long will it the letter take to move up Dim PowerLoss(100) As Double 'losing xx% of power when touching the ground Dim Message As String 'Message you want to display Dim Looop As Integer 'Loop var Dim TextColor(100) As ColorConstants 'Color of one letter 'Settings Picture1. ScaleMode = 4 Picture1. FontName = "Courier New" Message = " WESLAX CONTACT ME: weslax@yahoo.com " 'Message you want to display For Looop = 1 To Len PowerLoss = 0.2 + ((Rnd 25) / 100) 'losing xx% of power when touching the ground StartHeight = 0 TextColor = RGB(80 + Looop 2, 80 + Looop 2, 255) Next Looop For Looop = 1 To Len StartTime = Timer 'Setting up startime for a following movement, needed for calculation of position Next Looop Do Picture1. Cls 'Clear picturebox 'Looping throung the textmessage For Looop = 1 To Len If DownMovement = True Then MoveDistance = (StartHeight + (0.5 9.81 ((Timer - StartTime ^ 2))) 'Calculating falling distance If YPos >= Picture1. ScaleHeight - 1 Then MovementDone = True 'The letter reached the bottom border. The Downmovement is complete Else MoveDistance = (StartHeight + (0.5 9.81 (UpMovementTime - (Timer - StartTime ^ 2)) 'Calculating falling distance If YPos <= StartHeight + 0.1 Then MovementDone = True 'The letter reached the max. height. The upmovement is complete End If YPos = MoveDistance If YPos > Picture1. ScaleHeight - 1 Then 'If the letter fell out of our picturebox we fix it YPos = Picture1. ScaleHeight - 1 'At the bottom position End If Picture1. CurrentX = Picture1. ScaleWidth / 2 - Int((Len / 2)) + Looop Picture1. CurrentY = YPos 'Setting the letters y position Picture1. ForeColor = TextColor 'Setting the letters color Picture1. Print Mid(Message, Looop, 1) 'Text output Next Looop DoEvents For Looop = 1 To Len If MovementDone = True Then If DownMovement = True Then 'Switch between up/downmovement DownMovement = False StartHeight = StartHeight + ((Picture1. ScaleHeight - StartHeight PowerLoss 'New Startheight, because of speed lost?!?! UpMovementTime = Sqr((Picture1. ScaleHeight - StartHeight / (0.5 9.81)) 'How long will the NEXT upmovement last? Else DownMovement = True End If StartTime = Timer 'Set the StartTime of a new movement MovementDone = False End If Next Looop Loop 'Until StartHeight = OUT. ScaleHeight End Sub Private Sub Label1_Click End Sub Private Sub Form_Activate On Error Resume Next Picture1. BackColor = "H8000000F" End Sub