Membuat animasi sederhana menggunakan objek timer

Posted by Kamarudin • 1 minute read • Comments

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 :

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

lblAnimasi.Move lblAnimasi.Left - 15
If lblAnimasi.Left < -lblAnimasi.Width Then lblAnimasi.Left = picPanel.Width

2. Teks mantul dari kiri ke kanan

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

3. Teks mantul dari atas ke bawah

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

4. Teks zig zag

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 :blush:

Comments