Pertama-tama silakan buat desain seperti ini:
Komponen pada form utama yang dibutuhkan adalah:
Untuk teks 1:
- label1 : isi tulisan
- label3 : menampilkan kecepatan animasi per milisecond
- command1 : tombol untuk mengurangi kecepatan
- command2 : tombol untuk menambah kecepatan
- command3 : tombol start/pause animasi
- command4 : tombol untuk menghentikan dan mereset animasi
- timer1 : pengaturan waktu animasi
Untuk teks 2:
- label2 : isi tulisan
- label4 : menampilkan kecepatan animasi per milisecond
- command5 : tombol untuk mengurangi kecepatan
- command6 : tombol untuk menambah kecepatan
- command7 : tombol start/pause animasi
- command8 : tombol untuk menghentikan dan mereset animasi
- timer2 : pengaturan waktu animasi
- check1 : check box untuk pengaturan jumlah karakter yang muncul
- option1 : option button untuk pengaturan margin kiri
- option2 : option button untuk pengaturan margin tengah
- option3 : option button untuk pengaturan margin kanan
Setting komponen diatur melalui koding atau source code, jadi lebih mudah dalam pembelajarannya.
Untuk animasi teks pertama, mirip dengan scroller text (teks yang berjalan memutar), algoritma sederhananya adalah:
Sedangkan animasi teks kedua adalah mirip dengan pengetikan tulisan per karakter oleh keyboard.
Source Code:
Code: vb
Option Explicit '------------------------------- ' http://if.web.id ' http://forumif.web.id '------------------------------- Dim nama As String ' tulisan default pada label1 Dim iTimer1 As Integer ' speed atau interval awal timer1 Dim status1 As Boolean Dim nama2 As String ' tulisan default pada label2 Dim iTimer2 As Integer ' speed atau interval awal timer2 Dim status2 As Boolean Private Sub Command1_Click() If Timer1.Interval < 2000 Then Timer1.Interval = Timer1.Interval + 100 End Sub Private Sub Command2_Click() If Timer1.Interval > 100 Then Timer1.Interval = Timer1.Interval - 100 End Sub Private Sub Command3_Click() Call Aktifkan(Timer1, Command3, Command1, Command2, Command4) End Sub Private Sub Command4_Click() Label3.Caption = "Speed: 0 ms." Timer1.Interval = iTimer1 Call Aktifkan(Timer1, Command3, Command1, Command2, Command4, True) status1 = False Label1.Caption = nama End Sub Private Sub Command5_Click() If Timer2.Interval < 2000 Then Timer2.Interval = Timer2.Interval + 100 End Sub Private Sub Command6_Click() If Timer2.Interval > 100 Then Timer2.Interval = Timer2.Interval - 100 End Sub Private Sub Command7_Click() Call Aktifkan(Timer2, Command7, Command5, Command6, Command8) End Sub Private Sub Command8_Click() Label4.Caption = "Speed: 0 ms." Timer2.Interval = iTimer2 Call Aktifkan(Timer2, Command7, Command5, Command6, Command8, True) status2 = False Label2.Caption = nama2 End Sub Private Sub Form_Load() Form1.Caption = "Animasi Teks - by Galih Hermawan" ' Setting untuk keperluan label1 pada tulisan Galih Hermawan nama = "Galih Hermawan" iTimer1 = 1000 Label1.Caption = nama Label1.FontSize = 36 Label1.ForeColor = vbBlue Label1.Alignment = 2 ' rata tengah (center) Label3.Caption = "Speed: " & Timer1.Interval & " ms." Command1.Caption = "- Perlambat" Command1.Enabled = False Command2.Caption = "+ Percepat" Command2.Enabled = False Command3.Caption = "Start" Command4.Caption = "Stop && Reset" Command4.Enabled = False 'status1 = False Command4.Value = True ' Setting untuk keperluan label1 pada tulisan Galih Hermawan nama2 = "Forum Informatika" iTimer2 = 1000 Label2.Caption = nama2 Label2.FontSize = 32 Label2.FontName = "Courier" Label2.ForeColor = RGB(150, 40, 10) Label2.Alignment = 2 ' rata tengah (center) Label4.Caption = "Speed: " & Timer2.Interval & " ms." Command5.Caption = "- Perlambat" Command5.Enabled = False Command6.Caption = "+ Percepat" Command6.Enabled = False Command7.Caption = "Start" Command8.Caption = "Stop && Reset" Command8.Enabled = False Timer2.Interval = iTimer2 Check1.Caption = "Perkarakter" Option1.Caption = "Kiri" Option1.Value = True Option2.Caption = "Tengah" Option3.Caption = "Kanan" End Sub Private Sub Label1_Click() Call Aktifkan(Timer1, Command3, Command1, Command2, Command4) End Sub Private Sub Label2_Click() Call Aktifkan(Timer2, Command7, Command5, Command6, Command8) End Sub Private Sub Option1_Click() Label2.Alignment = 0 End Sub Private Sub Option2_Click() Label2.Alignment = 2 End Sub Private Sub Option3_Click() Label2.Alignment = 1 End Sub Private Sub Timer1_Timer() Dim p As Integer, t As String Dim sAwal As String, sAkhir As String Static i As Integer t = nama p = Len(t) If status1 = False Then i = 0 status1 = True End If i = i + 1 sAwal = Mid(t, i + 1, p - i) sAkhir = Mid(t, 1, i) Label1 = sAwal & " " & sAkhir If i = p Then i = 0 Label3.Caption = "Speed: " & Timer1.Interval & " ms." End Sub Private Sub Aktifkan(tmr As Timer, cmd As CommandButton, cmdMin As CommandButton, cmdPlus As CommandButton, cmdReset As CommandButton, Optional nyala As Boolean) If tmr.Enabled Or nyala Then cmd.Caption = "Start" cmdMin.Enabled = False cmdPlus.Enabled = False cmdReset.Enabled = False tmr.Enabled = False Else cmd.Caption = "Pause" cmdMin.Enabled = True cmdPlus.Enabled = True cmdReset.Enabled = True tmr.Enabled = True End If End Sub Private Sub Timer2_Timer() Dim p As Integer, t As String Dim sAwal As String, sAkhir As String Static i As Integer t = nama2 p = Len(t) If status2 = False Then i = 0 status2 = True End If i = i + 1 If Check1.Value = False Then sAwal = Mid(t, 1, i) ' & " " Label2 = sAwal & " " If i = p Then i = 0 Else If Option3.Value = True Then sAwal = Mid(t, p + 1 - (i - 1), 1) Label2 = sAwal & Space(i) ElseIf Option2.Value = True Then sAwal = Mid(t, i, 1) Label2 = Space(i) & sAwal & Space(i) Else sAwal = Mid(t, i, 1) Label2 = Space(i) & sAwal End If If i = p Then Label2.Caption = nama2 ElseIf i = p + 1 Then i = 0 End If End If Label4.Caption = "Speed: " & Timer2.Interval & " ms." End Sub
Contoh tampilan (klik untuk menuju gambar asli)

Selamat belajar!

Attachment terlampir.