Wednesday, 15 December 2010

Membuat Teks Animasi

Tutorial untuk membuat teks animasi menggunakan Visual basic 6.

Pertama-tama silakan buat desain seperti ini:

http://upload.kapanlagi.com/show.php?photo=20090701103745_desain_4a4ada096a4a3.JPG
[vb6] Membuat Teks Animasi


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:

Algoritmateks = "Informatika"
panjang = length(teks)

for i=1 to panjang do
    stringAwal = substring (teks, i+1,panjang-i)
    stringAkhir = substring (teks,1,i)
    output (stringAwal + " " + stringAkhir)
endfor

Sedangkan animasi teks kedua adalah mirip dengan pengetikan tulisan per karakter oleh keyboard.

Algoritmateks = "Informatika"
 panjang = length(teks)

 for i=1 to panjang do
     stringAwal = substring (teks, i, 1)
     output (stringAwal)
 endfor

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)

http://upload.kapanlagi.com/images/thumb/20090701102804_Animasi_Teks_4a4ad7c4ee557-t.gif
[vb6] Membuat Teks Animasi


Selamat belajar!  :beach:

Attachment terlampir.

Membuat Form Transparan

Sebuah Aplikasi selain dapat bekerja sesuai dengan fungsinya tentunya dituntut suatu keindahan diantaranya tampilan yang transparan.Sebuah form yang transparan dengan opaciti 0 – 100% tidak perlu mengunakan VB Net, dengan VB6 pun sudah bisa dengan bantuan file ActiveX yang sudah saya buat terlebih dahulu, oleh karena itu download dulu file TransX.ocx disini, ukurannya kecil sekali hanya sekitar 24 KB. Setelah file tersebut berhasil di download, copy kan ke c:windowssystem32 kemudian instalkan dengan cara klik Start -> Run pada kotak isian ketiklah regsvr32 “c:windowsSistem32TransX.ocx” kemudian klik OK akan tampil message seperti ini
Klik ok
Cara menggunakan file ActiveX TransX.ocx
Klik kanan toolbox kemudian pilih component
Ceklist TransZ, klik Aply
Tempelkan ActiveX tersebut pada form dengan cara double klik, maka pada from akan ada objek TransX1
Cara mengetes cara kerja ActiveX TransX.ocx, tempelkan objek HScroll,TextBox, dan Image pada form misalnya object tersebut bernama HScroll1. Atur porpertis HScroll1 sebagai berikut
Min = 0
Max = 100
Value = 100
Pada objext text1, atur text= 100
Pada Image tambahkan picture apa saja terserah anda, sehingga tampilan kira-kira seperti ini
Tahap akhir, menuliskan coding
Private Sub HScroll1_Change()
Text1.Text = HScroll1.Value
TransX1.Transparan Me.hWnd, HScroll1.Value, True
End Sub
Kita running, dan kita coba opacity nya dengan menggeserkan HScroll, hasilnya seperti gambar berikut
Opacity 100 %
Opacity 100 %
Opacity 80 %
Opacity 80 %
Opacity 60 %
Opacity 60 %
Opacity 50 %
Opacity 50 %
Opacity 30 %
Opacity 30 %
Selamat mencoba !