Objek timer selain digunakan untuk menampilkan tanggal dan jam secara realtime, juga bisa digunakan untuk membuat animasi sederhana salah satunya dengan memanfaatkan objek label. Silahkan buat rancangan form seperti berikut :
copy paste kode berikut :
123456789101112131415
Option Explicit
Dim x As Integer
Dim gerakX As Integer
Dim gerakY As Integer
Dim zigZagX As Integer
Dim zigZagY As Integer
Dim i As Integer
Private Sub Form_Load()
gerakY = 20
x = 20
zigZagX = 20
zigZagY = 20
End Sub
Source code untuk event _Timer (gunakan salah satu atau solusi lain objek timernya dijadikan array kemudian tinggal seleksi berdasarkan index array)
1. Teks berjalan dari kiri ke kanan
12
lblAnimasi.Move lblAnimasi.Left - 15
If lblAnimasi.Left < -lblAnimasi.Width Then lblAnimasi.Left = picPanel.Width
Teks mantul dari kiri ke kanan
123456
lblAnimasi.Move lblAnimasi.Left - x
If lblAnimasi.Left < picPanel.ScaleLeft Then
x = -20
ElseIf lblAnimasi.Left + lblAnimasi.Width > picPanel.ScaleWidth + picPanel.ScaleLeft Then
x = 20
End If
Teks mantul dari atas ke bawah
123456
lblAnimasi.Move lblAnimasi.Left + gerakX, lblAnimasi.Top + gerakY
If lblAnimasi.Top < picPanel.ScaleTop Then
gerakY = 20
ElseIf lblAnimasi.Top + lblAnimasi.Height > picPanel.ScaleHeight + picPanel.ScaleTop Then
gerakY = -20
End If
Teks zig zag
12345678910
lblAnimasi.Move lblAnimasi.Left + zigZagX, lblAnimasi.Top + zigZagY
If lblAnimasi.Left < picPanel.ScaleLeft Then
zigZagX = 20
ElseIf lblAnimasi.Left + lblAnimasi.Width > picPanel.ScaleWidth + picPanel.ScaleLeft Then
zigZagX = -20
ElseIf lblAnimasi.Top < picPanel.ScaleTop Then
zigZagY = 20
ElseIf lblAnimasi.Top + lblAnimasi.Height > picPanel.ScaleHeight + picPanel.ScaleTop Then
zigZagY = -20
End If
Contoh source code bisa didownload disini. Selamat mencoba :)